public function testHasInstance() { $this->model->addDefinition(self::INSTANCE_1, $this->getArgument()); $this->assertTrue($this->model->hasInstance(self::INSTANCE_1)); }
/** * Returns constructor with defined arguments * * @param DefinitionsCollection $definitionsCollection * @param ConfigInterface $config * @return array|mixed * @throws \ReflectionException */ private function getConfigForScope(DefinitionsCollection $definitionsCollection, ConfigInterface $config) { $constructors = []; $argumentsResolver = $this->argumentsResolverFactory->create($config); foreach ($definitionsCollection->getInstancesNamesList() as $instanceType) { if (!$this->typeReader->isConcrete($instanceType)) { continue; } $constructor = $definitionsCollection->getInstanceArguments($instanceType); $constructors[$instanceType] = $argumentsResolver->getResolvedConstructorArguments($instanceType, $constructor); } foreach (array_keys($config->getVirtualTypes()) as $instanceType) { $originalType = $config->getInstanceType($instanceType); if (!$definitionsCollection->hasInstance($originalType)) { if (!$this->typeReader->isConcrete($originalType)) { continue; } $constructor = $this->classReaderDecorator->getConstructor($originalType); } else { $constructor = $definitionsCollection->getInstanceArguments($originalType); } $constructors[$instanceType] = $argumentsResolver->getResolvedConstructorArguments($instanceType, $constructor); } return $constructors; }