Example #1
0
$t->is($definition->getArgumentDefaults(), array('foo4' => array(1, 2)), '->getArgumentDefaults() return the default values for each argument');
$foo = new Option('foo', 'f');
$bar = new Option('bar', 'b');
$foo1 = new Option('fooBis', 'f');
$foo2 = new Option('foo', 'p');
// __construct()
$t->diag('__construct()');
$definition = new Definition();
$t->is($definition->getOptions(), array(), '__construct() creates a new Definition object');
$definition = new Definition(array($foo, $bar));
$t->is($definition->getOptions(), array('foo' => $foo, 'bar' => $bar), '__construct() takes an array of Option objects as its first argument');
// ->setOptions()
$t->diag('->setOptions()');
$definition = new Definition(array($foo));
$t->is($definition->getOptions(), array('foo' => $foo), '->setOptions() sets the array of Option objects');
$definition->setOptions(array($bar));
$t->is($definition->getOptions(), array('bar' => $bar), '->setOptions() clears all Option objects');
try {
    $definition->getOptionForShortcut('f');
    $t->fail('->setOptions() clears all Option objects');
} catch (\Exception $e) {
    $t->pass('->setOptions() clears all Option objects');
}
// ->addOptions()
$t->diag('->addOptions()');
$definition = new Definition(array($foo));
$t->is($definition->getOptions(), array('foo' => $foo), '->addOptions() adds an array of Option objects');
$definition->addOptions(array($bar));
$t->is($definition->getOptions(), array('foo' => $foo, 'bar' => $bar), '->addOptions() does not clear existing Option objects');
// ->addOption()
$t->diag('->addOption()');