Example #1
0
$definition->setArguments(array($foo));
$t->is($definition->getArguments(), array('foo' => $foo), '->setArguments() sets the array of Argument objects');
$definition->setArguments(array($bar));
$t->is($definition->getArguments(), array('bar' => $bar), '->setArguments() clears all Argument objects');
// ->addArguments()
$t->diag('->addArguments()');
$definition = new Definition();
$definition->addArguments(array($foo));
$t->is($definition->getArguments(), array('foo' => $foo), '->addArguments() adds an array of Argument objects');
$definition->addArguments(array($bar));
$t->is($definition->getArguments(), array('foo' => $foo, 'bar' => $bar), '->addArguments() does not clear existing Argument objects');
// ->addArgument()
$t->diag('->addArgument()');
$definition = new Definition();
$definition->addArgument($foo);
$t->is($definition->getArguments(), array('foo' => $foo), '->addArgument() adds a Argument object');
$definition->addArgument($bar);
$t->is($definition->getArguments(), array('foo' => $foo, 'bar' => $bar), '->addArgument() adds a Argument object');
// arguments must have different names
try {
    $definition->addArgument($foo1);
    $t->fail('->addArgument() throws a Exception if another argument is already registered with the same name');
} catch (\Exception $e) {
    $t->pass('->addArgument() throws a Exception if another argument is already registered with the same name');
}
// cannot add a parameter after an array parameter
$definition->addArgument(new Argument('fooarray', Argument::IS_ARRAY));
try {
    $definition->addArgument(new Argument('anotherbar'));
    $t->fail('->addArgument() throws a Exception if there is an array parameter already registered');
} catch (\Exception $e) {