11 require_once
__DIR__ .
'/_files/TMap/TClass.php';
12 require_once
__DIR__ .
'/_files/TMap/TInterface.php';
14 class TMapTest extends \PHPUnit\Framework\TestCase
28 $this->om = $this->getMockBuilder(\
Magento\Framework\ObjectManagerInterface::class)
29 ->getMockForAbstractClass();
32 ->getMockForAbstractClass();
37 $tMap = $this->getSimpleInitialized(3);
38 static::assertEquals(3, $tMap->count());
43 $tMap = $this->getSimpleInitialized(3);
44 $this->om->expects(static::exactly(3))
48 [
'TClass', [],
new \
TClass()],
49 [
'TInterface', [],
new \
TClass()],
50 [
'TClassVirtual', [],
new \
TClass()]
54 foreach ($tMap as $instance) {
55 static::assertInstanceOf(
'\TInterface', $instance);
64 $tMap = $this->getSimpleInitialized(3);
66 static::assertEquals(3, $tMap->count());
67 foreach ($tMap as $key => $instance) {
70 static::assertEquals(0, $tMap->count());
78 $expectedKeysOrder = [
84 $tMap = $this->getSimpleInitialized(6);
86 unset($tMap[0], $tMap[3]);
88 $tMap[] =
'TClassVirtual';
89 $tMap[
'item2'] =
'TClass';
90 $tMap[] =
'TInterface';
92 $this->om->expects(static::exactly(4))
96 [
'TClass', [],
new \
TClass()],
97 [
'TInterface', [],
new \
TClass()],
98 [
'TClassVirtual', [],
new \
TClass()]
103 foreach ($tMap as $key =>
$item) {
104 static::assertEquals($expectedKeysOrder[
$i], $key);
108 static::assertEquals(4, $tMap->count());
117 private function getSimpleInitialized($exactlyCalls = 3)
128 'item' =>
'TClassVirtual',
132 $this->omConfig->expects(static::exactly($exactlyCalls))
133 ->method(
'getPreference')
136 [
'TClass',
'TClass'],
137 [
'TClassVirtual',
'TClassVirtual'],
138 [
'TInterface',
'TClassVirtual']
141 $this->omConfig->expects(static::exactly($exactlyCalls))
142 ->method(
'getInstanceType')
145 [
'TClass',
'TClass'],
146 [
'TClassVirtual',
'TClass']
156 return $om->create($objectName);
defined('TESTS_BP')||define('TESTS_BP' __DIR__