Example #1
0
 public function testBuild()
 {
     $builder = new ParameterBuilder();
     $parameters = $builder->setDescription('foobar')->addOption('bar', Parameter::TYPE_REQUIRED, 'bar description')->addOption('foo', Parameter::TYPE_OPTIONAL, 'foo description')->addOption('v', Parameter::TYPE_FLAG, 'verbose')->getParameters();
     $this->assertInstanceOf('PSX\\Command\\Parameters', $parameters);
     $this->assertEquals('foobar', $parameters->getDescription());
     $this->assertEquals(3, count($parameters));
     $this->assertEquals(null, $parameters->get('unknown'));
     $this->assertInstanceOf('PSX\\Command\\Parameter', $parameters[0]);
     $this->assertEquals('bar', $parameters[0]->getName());
     $this->assertEquals(Parameter::TYPE_REQUIRED, $parameters[0]->getType());
     $this->assertEquals('bar description', $parameters[0]->getDescription());
     $this->assertEquals(false, $parameters[0]->hasValue());
     $this->assertEquals(null, $parameters[0]->getValue());
     $this->assertInstanceOf('PSX\\Command\\Parameter', $parameters[1]);
     $this->assertEquals('foo', $parameters[1]->getName());
     $this->assertEquals(Parameter::TYPE_OPTIONAL, $parameters[1]->getType());
     $this->assertEquals('foo description', $parameters[1]->getDescription());
     $this->assertEquals(false, $parameters[1]->hasValue());
     $this->assertEquals(null, $parameters[1]->getValue());
     $this->assertInstanceOf('PSX\\Command\\Parameter', $parameters[2]);
     $this->assertEquals('v', $parameters[2]->getName());
     $this->assertEquals(Parameter::TYPE_FLAG, $parameters[2]->getType());
     $this->assertEquals('verbose', $parameters[2]->getDescription());
     $this->assertEquals(false, $parameters[2]->hasValue());
     $this->assertEquals(null, $parameters[2]->getValue());
     foreach ($parameters as $parameter) {
         $this->assertInstanceOf('PSX\\Command\\Parameter', $parameter);
     }
 }