/** @covers Brickoo\Component\IoC\Definition\ArgumentDefinition::hasName */
 public function testHasName()
 {
     $annotationDefinition = new ArgumentDefinition("some value");
     $this->assertFalse($annotationDefinition->hasName());
     $annotationDefinition = new ArgumentDefinition("some value", "MyAnnotation");
     $this->assertTrue($annotationDefinition->hasName());
 }
 /**
  * Adds an argument to the dependency definition.
  * @param \Brickoo\Component\IoC\Definition\ArgumentDefinition $argument
  * @throws \Brickoo\Component\IoC\Definition\Container\Exception\DuplicateParameterDefinitionException
  * @return \Brickoo\Component\IoC\Definition\Container\ArgumentDefinitionContainer
  */
 public function addArgument(ArgumentDefinition $argument)
 {
     if (($hasName = $argument->hasName()) && $this->contains($argument->getName())) {
         throw new DuplicateParameterDefinitionException($argument->getName());
     }
     $argumentKey = $hasName ? $argument->getName() : uniqid("arg:");
     $this->add($argumentKey, $argument);
     return $this;
 }
 /**
  * Returns the argument index.
  * @param \Brickoo\Component\IoC\Definition\ArgumentDefinition $argument
  * @param integer $currentIndex
  * @return string|integer the argument index
  */
 private function getArgumentIndex(ArgumentDefinition $argument, $currentIndex)
 {
     return $argument->hasName() ? $argument->getName() : $currentIndex;
 }