/**
  * Adds an injection to the dependency definition.
  * @param \Brickoo\Component\IoC\Definition\InjectionDefinition $injection
  * @throws \Brickoo\Component\IoC\Definition\Container\Exception\DuplicateInjectionDefinitionException
  * @return \Brickoo\Component\IoC\Definition\Container\InjectionDefinitionContainer
  */
 public function addInjection(InjectionDefinition $injection)
 {
     if ($this->contains($targetName = $injection->getTargetName())) {
         throw new DuplicateInjectionDefinitionException($targetName);
     }
     $this->add($targetName, $injection);
     return $this;
 }
 /**
  * @covers Brickoo\Component\IoC\Definition\InjectionDefinition::__construct
  * @covers Brickoo\Component\IoC\Definition\InjectionDefinition::getTarget
  * @covers Brickoo\Component\IoC\Definition\InjectionDefinition::isTarget
  * @covers Brickoo\Component\IoC\Definition\InjectionDefinition::getTargetName
  * @covers Brickoo\Component\IoC\Definition\InjectionDefinition::getArgumentsContainer
  */
 public function testDefinitionImplementation()
 {
     $target = InjectionDefinition::TARGET_METHOD;
     $targetName = "\\SomeClass::targetMethodName";
     $container = $this->getMock("\\Brickoo\\Component\\IoC\\Definition\\Container\\ArgumentDefinitionContainer");
     $injectionDefinition = new InjectionDefinition($target, $targetName, $container);
     $this->assertEquals($target, $injectionDefinition->getTarget());
     $this->assertEquals($targetName, $injectionDefinition->getTargetName());
     $this->assertSame($container, $injectionDefinition->getArgumentsContainer());
     $this->assertFalse($injectionDefinition->isTarget(InjectionDefinition::TARGET_CONSTRUCTOR));
     $this->assertTrue($injectionDefinition->isTarget(InjectionDefinition::TARGET_METHOD));
 }