$t->fail('->addArgument() throws an InvalidArgumentException if there is an array parameter already registered'); } catch (InvalidArgumentException $e) { $t->pass('->addArgument() throws an InvalidArgumentException if there is an array parameter already registered'); } // cannot add a required argument after an optional one $set = new nbArgumentSet(array($fooArgument)); try { $set->addArgument($requiredArgument); $t->fail('->addArgument() throws an InvalidArgumentException if you try to add a required argument after an optional one'); } catch (InvalidArgumentException $e) { $t->pass('->addArgument() throws an InvalidArgumentException if you try to add a required argument after an optional one'); } // ->getArgument() $t->comment('nbArgumentSetTest - Test get argument'); $set = new nbArgumentSet(array($fooArgument)); $t->is($set->getArgument('foo'), $fooArgument, '->getArgument() returns an nbArgument by its name'); try { $set->getArgument('bar'); $t->fail('->getArgument() throws a RangeException exception if the argument name does not exist'); } catch (RangeException $e) { $t->pass('->getArgument() throws a RangeException exception if the argument name does not exist'); } // ->hasArgument() $t->comment('nbArgumentSetTest - Test has argument'); $set = new nbArgumentSet(array($fooArgument)); $t->is($set->hasArgument('foo'), true, '->hasArgument() returns true if an nbArgument exists for the given name'); $t->is($set->hasArgument('bar'), false, '->hasArgument() returns false if an nbArgument does not exists for the given name'); // ->countRequired() $t->comment('nbArgumentSetTest - Test argument required count'); $set = new nbArgumentSet(array($requiredArgument)); $t->is($set->countRequired(), 1, '->countRequired() returns the number of required arguments');