test = $test; } public function create(array $serviceMap) : Container { $container = $this->test->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock(); $map = $serviceMap; $valueMap = []; $hasMap = []; $classMap = []; foreach ($map as $key => $value) { $valueMap[] = [$key, $value]; } foreach ($map as $key => $value) { $hasMap[] = [$key, true]; } foreach ($map as $key => $value) { $classMap[] = [$key, new ReflectionClass($value)]; } $container ->expects($this->test->any()) ->method('get') ->will($this->test->returnValueMap($valueMap)); $container ->expects($this->test->any()) ->method('has') ->will($this->test->returnValueMap($hasMap)); $container ->expects($this->test->any()) ->method('getClass') ->will($this->test->returnValueMap($classMap)); return $container; } }