/** * Test basic get/set functionality. */ public function testGetSet() { $args = new Args(); $args->setArg('key', 'value'); $this->assertSame('value', $args->getArg('key')); $args->setArgs(['foo']); $this->assertSame(['foo'], $args->getArgs()); $args->setCommand('cmd'); $this->assertSame('cmd', $args->getCommand()); $args->setMeta('meta', 123); $this->assertSame(123, $args->getMeta('meta')); $this->assertSame('default', $args->getMeta('nex', 'default')); $args->setOpt('grim', 567); $this->assertSame(567, $args->getOpt('grim')); $args->setOpts(['opt' => 'value']); $this->assertSame(['opt' => 'value'], $args->getOpts()); $args->setOpt('opt', null); $this->assertSame([], $args->getOpts()); $args['foo'] = 'bar'; $this->assertTrue(isset($args['foo'])); $this->assertSame('bar', $args['foo']); $this->assertSame('bar', $args->getOpt('foo')); unset($args['foo']); $this->assertNull($args['foo']); }