private function addOption(OptionDefinition $optionDefinition) { $this->usageDefinitionRepository->add($optionDefinition); $option = new Definition('Short Option'); $option->addTransition(new OptionTransition($optionDefinition, $option->getState('end')), 'start'); $this->append($option); }
/** * @test */ public function option_definitions_can_all_be_added_at_once() { $optionRepository = new OptionDefinitionRepository(); $optionRepository->add(new OptionDefinition('h', 'help', null, OptionDefinition::TYPE_BOOL)); $optionRepository->add(new OptionDefinition('e', 'environment', null, OptionDefinition::TYPE_VALUE)); $result = usage('[options]', '-h --environment=development', $optionRepository); $this->assertInternalType('array', $result); $this->assertEquals(2, count($result)); $this->assertEquals("option('h', 'true')", $result[0]); $this->assertEquals("option('environment', 'development')", $result[1]); }