$definition->addArguments(array($foo));
$t->is($definition->hasArgument('foo'), true, '->hasArgument() returns true if a InputArgument exists for the given name');
$t->is($definition->hasArgument('bar'), false, '->hasArgument() returns false if a InputArgument exists for the given name');

// ->getArgumentRequiredCount()
$t->diag('->getArgumentRequiredCount()');
$definition = new InputDefinition();
$definition->addArgument($foo2);
$t->is($definition->getArgumentRequiredCount(), 1, '->getArgumentRequiredCount() returns the number of required arguments');
$definition->addArgument($foo);
$t->is($definition->getArgumentRequiredCount(), 1, '->getArgumentRequiredCount() returns the number of required arguments');

// ->getArgumentCount()
$t->diag('->getArgumentCount()');
$definition = new InputDefinition();
$definition->addArgument($foo2);
$t->is($definition->getArgumentCount(), 1, '->getArgumentCount() returns the number of arguments');
$definition->addArgument($foo);
$t->is($definition->getArgumentCount(), 2, '->getArgumentCount() returns the number of arguments');

// ->getArgumentDefaults()
$t->diag('->getArgumentDefaults()');
$definition = new InputDefinition(array(
  new InputArgument('foo1', InputArgument::OPTIONAL),
  new InputArgument('foo2', InputArgument::OPTIONAL, '', 'default'),
  new InputArgument('foo3', InputArgument::OPTIONAL | InputArgument::IS_ARRAY),
//  new InputArgument('foo4', InputArgument::OPTIONAL | InputArgument::IS_ARRAY, '', array(1, 2)),
));
$t->is($definition->getArgumentDefaults(), array('foo1' => null, 'foo2' => 'default', 'foo3' => array()), '->getArgumentDefaults() return the default values for each argument');

$definition = new InputDefinition(array(
 public function testGetArgumentCount()
 {
     $this->initializeArguments();
     $definition = new InputDefinition();
     $definition->addArgument($this->foo2);
     $this->assertEquals($definition->getArgumentCount(), 1, '->getArgumentCount() returns the number of arguments');
     $definition->addArgument($this->foo);
     $this->assertEquals($definition->getArgumentCount(), 2, '->getArgumentCount() returns the number of arguments');
 }