@Override public TypedOption<T> addChoice(String choice) { super.addChoice(choice); return this; }
@Test public void testOptionsWithChoices() { CLI cli = new DefaultCLI().setName("test"); cli.addOption(new Option().setLongName("color").addChoice("red").addChoice("blue").addChoice("green")); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("[--color {blue, green, red}]") // Usage line .contains(" --color {blue, green, red}"); // options CommandLine line = cli.parse(Arrays.asList("--color", "blue")); assertThat((String) line.getOptionValue("color")).isEqualTo("blue"); try { cli.parse(Collections.singletonList("--color=black")); fail("Invalid value expected"); } catch (InvalidValueException e) { // OK } }
@Test public void testOptionsWithChoicesAndDefault() { CLI cli = new DefaultCLI().setName("test"); cli.addOption(new Option().setLongName("color").addChoice("red").addChoice("blue").addChoice("green") .setDefaultValue("green")); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("[--color {blue, green, red}]") // Usage line .contains(" --color {blue, green, red}"); // options CommandLine line = cli.parse(Arrays.asList("--color", "blue")); assertThat((String) line.getOptionValue("color")).isEqualTo("blue"); try { cli.parse(Collections.singletonList("--color=black")); fail("Invalid value expected"); } catch (InvalidValueException e) { // OK } line = cli.parse(Collections.emptyList()); assertThat((String) line.getOptionValue("color")).isEqualTo("green"); }
@Override public TypedOption<T> addChoice(String choice) { super.addChoice(choice); return this; }
@Test public void testOptionsWithChoices() { CLI cli = new DefaultCLI().setName("test"); cli.addOption(new Option().setLongName("color").addChoice("red").addChoice("blue").addChoice("green")); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("[--color {blue, green, red}]") // Usage line .contains(" --color {blue, green, red}"); // options CommandLine line = cli.parse(Arrays.asList("--color", "blue")); assertThat((String) line.getOptionValue("color")).isEqualTo("blue"); try { cli.parse(Collections.singletonList("--color=black")); fail("Invalid value expected"); } catch (InvalidValueException e) { // OK } }
@Test public void testOptionsWithChoicesAndDefault() { CLI cli = new DefaultCLI().setName("test"); cli.addOption(new Option().setLongName("color").addChoice("red").addChoice("blue").addChoice("green") .setDefaultValue("green")); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("[--color {blue, green, red}]") // Usage line .contains(" --color {blue, green, red}"); // options CommandLine line = cli.parse(Arrays.asList("--color", "blue")); assertThat((String) line.getOptionValue("color")).isEqualTo("blue"); try { cli.parse(Collections.singletonList("--color=black")); fail("Invalid value expected"); } catch (InvalidValueException e) { // OK } line = cli.parse(Collections.emptyList()); assertThat((String) line.getOptionValue("color")).isEqualTo("green"); }
Option option = new Option() .setArgName(TestUtils.randomAlphaString(100)) .addChoice(TestUtils.randomAlphaString(100)) .setDefaultValue(TestUtils.randomAlphaString(100)) .setDescription(TestUtils.randomAlphaString(100))
Option option = new Option() .setArgName(TestUtils.randomAlphaString(100)) .addChoice(TestUtils.randomAlphaString(100)) .setDefaultValue(TestUtils.randomAlphaString(100)) .setDescription(TestUtils.randomAlphaString(100))