@Test public void testParseArgumentsUnparsed() throws ArgumentValidationException { argumentCollectionBuilder.unparsedOptionsFollow(); argumentCollectionBuilder.addValue("3"); argumentCollectionBuilder.addValue("4"); assertEquals(2, parsed().getUnparsed().size()); assertEquals("3", parsed().getUnparsed().get(0)); assertEquals("4", parsed().getUnparsed().get(1)); }
@Test public void noOptionsProducesUnparsed() throws ArgumentValidationException { argumentCollectionBuilder.addValue("1"); argumentCollectionBuilder.addValue("2"); argumentCollectionBuilder.addValue("3"); assertEquals(3, parsed().getUnparsed().size()); assertEquals("1", parsed().getUnparsed().get(0)); assertEquals("2", parsed().getUnparsed().get(1)); assertEquals("3", parsed().getUnparsed().get(2)); }
@Test public void testParseArgumentsMisplacedValue() { try { argumentCollectionBuilder.addValue("a"); argumentCollectionBuilder.addOption("b"); fail(); } catch (final ArgumentValidationException e) { assertThat( e.getValidationFailures(), contains(validationError(ValidationFailureType.MisplacedOption))); } }
@Test public void testParseArgumentsNotUparsed() throws ArgumentValidationException { argumentCollectionBuilder.addOption("a"); argumentCollectionBuilder.addOption("b"); argumentCollectionBuilder.addOption("c"); assertTrue(containsAny("a")); assertTrue(containsAny("b")); assertTrue(containsAny("c")); assertEquals(0, parsed().getUnparsed().size()); }
private void add(final String argument) throws ArgumentValidationException { if (startsWithDash(argument) && !builder.isExpectingUnparsedOptions()) { if (startsWithDoubleDash(argument)) { if (argument.length() > 2) { addOptionAndValue(argument); } else { builder.unparsedOptionsFollow(); } } else { addConjoinedOptions(argument.substring(1)); } } else { addValue(argument); } }
@Test public void testParseArgumentsOnlyUnparsedSeperator() throws ArgumentValidationException { argumentCollectionBuilder.unparsedOptionsFollow(); assertEquals(0, parsed().getUnparsed().size()); }
private ArgumentCollection parsed() { return argumentCollectionBuilder.getParsedArguments(); }
ArgumentCollection getParsedArguments() { return builder.getParsedArguments(); }
private void addOption(final String option) throws ArgumentValidationException { builder.addOption(option); }
private void addValue(final String value) { builder.addValue(value); }