Ejemplo n.º 1
0
 public function testAddCollection()
 {
     $this->model->addDefinition(self::INSTANCE_1, $this->getArgument());
     $this->collectionMock->expects($this->any())->method('getCollection')->willReturn([self::INSTANCE_2 => $this->getArgument()]);
     $this->model->addCollection($this->collectionMock);
     $this->assertEquals([self::INSTANCE_1 => $this->getArgument(), self::INSTANCE_2 => $this->getArgument()], $this->model->getCollection());
 }
Ejemplo n.º 2
0
 /**
  * Returns definitions collection
  *
  * @param string $path
  * @return DefinitionsCollection
  */
 protected function getDefinitionsCollection($path)
 {
     $definitions = new DefinitionsCollection();
     foreach ($this->areaInstancesNamesList->getList($path) as $className => $constructorArguments) {
         $definitions->addDefinition($className, $constructorArguments);
     }
     return $definitions;
 }
Ejemplo n.º 3
0
 /**
  * @param Collection $definitionCollection
  * @param array $virtualTypes
  * @return array
  */
 private function getResolvedVirtualConstructorArgumentsMap(Collection $definitionCollection, array $virtualTypes)
 {
     $getResolvedConstructorArgumentsMap = [];
     foreach ($virtualTypes as $virtualType => $concreteType) {
         $getResolvedConstructorArgumentsMap[] = [$virtualType, $definitionCollection->getInstanceArguments($concreteType), $this->getResolvedArguments($definitionCollection->getInstanceArguments($concreteType))];
     }
     return $getResolvedConstructorArgumentsMap;
 }
Ejemplo n.º 4
0
 /**
  * Returns preferences for third party code
  *
  * @param ConfigInterface $config
  * @param DefinitionsCollection $definitionsCollection
  *
  * @return void
  */
 private function fillThirdPartyInterfaces(ConfigInterface $config, DefinitionsCollection $definitionsCollection)
 {
     $definedInstances = $definitionsCollection->getInstancesNamesList();
     foreach (array_keys($config->getPreferences()) as $interface) {
         if (in_array($interface, $definedInstances)) {
             continue;
         }
         $definitionsCollection->addDefinition($interface, []);
     }
 }