@Test public void testDontClearInitialValueBeforeParseIfInitialValueFalse() { CommandSpec cmd = CommandSpec.create(); Map<String, String> map = new HashMap<String, String>(); map.put("ABC", "XYZ"); cmd.addOption(OptionSpec.builder("-x").type(Map.class).initialValue(map).hasInitialValue(true).build()); CommandLine cl = new CommandLine(cmd); cl.parseArgs("-x", "A=1", "-x", "B=2", "-x", "C=3"); Map<String, String> expected = new LinkedHashMap<String, String>(); expected.put("A", "1"); expected.put("B", "2"); expected.put("C", "3"); assertEquals(expected, cmd.findOption("x").getValue()); cl.parseArgs("-x", "D=4", "-x", "E=5"); expected = new LinkedHashMap<String, String>(); expected.put("D", "4"); expected.put("E", "5"); assertEquals(expected, cmd.findOption("x").getValue()); cl.parseArgs(); expected = new LinkedHashMap<String, String>(); expected.put("ABC", "XYZ"); assertEquals(expected, cmd.findOption("x").getValue()); }
@Test public void testDontClearListOptionOldValueBeforeParseIfInitialValueFalse() { CommandSpec cmd = CommandSpec.create(); cmd.addOption(OptionSpec.builder("-x").type(List.class).initialValue(Arrays.asList("ABC")).hasInitialValue(false).build()); CommandLine cl = new CommandLine(cmd); cl.parseArgs("-x", "1", "-x", "2", "-x", "3"); assertEquals(Arrays.asList("1", "2", "3"), cmd.findOption("x").getValue()); cl.parseArgs("-x", "4", "-x", "5"); assertEquals(Arrays.asList("4", "5"), cmd.findOption("x").getValue()); cl.parseArgs(); assertEquals(Arrays.asList("4", "5"), cmd.findOption("x").getValue()); }
@Test public void testDontClearInitialValueBeforeParseIfInitialValueFalse() { CommandSpec cmd = CommandSpec.create(); Map<String, String> map = new HashMap<String, String>(); map.put("ABC", "XYZ"); cmd.addOption(OptionSpec.builder("-x").type(Map.class).initialValue(map).hasInitialValue(true).build()); CommandLine cl = new CommandLine(cmd); cl.parseArgs("-x", "A=1", "-x", "B=2", "-x", "C=3"); Map<String, String> expected = new LinkedHashMap<String, String>(); expected.put("A", "1"); expected.put("B", "2"); expected.put("C", "3"); assertEquals(expected, cmd.findOption("x").getValue()); cl.parseArgs("-x", "D=4", "-x", "E=5"); expected = new LinkedHashMap<String, String>(); expected.put("D", "4"); expected.put("E", "5"); assertEquals(expected, cmd.findOption("x").getValue()); cl.parseArgs(); expected = new LinkedHashMap<String, String>(); expected.put("ABC", "XYZ"); assertEquals(expected, cmd.findOption("x").getValue()); }
@Test public void testDontClearScalarOptionOldValueBeforeParseIfInitialValueFalse() { CommandSpec cmd = CommandSpec.create(); cmd.addOption(OptionSpec.builder("-x").type(String.class).initialValue(null).hasInitialValue(false).build()); CommandLine cl = new CommandLine(cmd); cl.parseArgs("-x", "1"); assertEquals("1", cmd.findOption("x").getValue()); cl.parseArgs("-x", "2"); assertEquals("2", cmd.findOption("x").getValue()); cl.parseArgs(); assertEquals("2", cmd.findOption("x").getValue()); }
@Test public void testDontClearArrayOptionOldValueBeforeParse() { CommandSpec cmd = CommandSpec.create(); cmd.addOption(OptionSpec.builder("-x").arity("2..3").initialValue(new String[] {"ABC"}).hasInitialValue(false).build()); CommandLine cl = new CommandLine(cmd); cl.parseArgs("-x", "1", "2", "3"); assertArrayEquals(new String[] {"1", "2", "3"}, (String[]) cmd.findOption("x").getValue()); cl.parseArgs("-x", "4", "5"); assertArrayEquals(new String[] {"4", "5"}, (String[]) cmd.findOption("x").getValue()); cl.parseArgs(); assertArrayEquals(new String[] {"4", "5"}, (String[]) cmd.findOption("x").getValue()); }
@Test public void testDontClearListOptionOldValueBeforeParseIfInitialValueFalse() { CommandSpec cmd = CommandSpec.create(); cmd.addOption(OptionSpec.builder("-x").type(List.class).initialValue(Arrays.asList("ABC")).hasInitialValue(false).build()); CommandLine cl = new CommandLine(cmd); cl.parseArgs("-x", "1", "-x", "2", "-x", "3"); assertEquals(Arrays.asList("1", "2", "3"), cmd.findOption("x").getValue()); cl.parseArgs("-x", "4", "-x", "5"); assertEquals(Arrays.asList("4", "5"), cmd.findOption("x").getValue()); cl.parseArgs(); assertEquals(Arrays.asList("4", "5"), cmd.findOption("x").getValue()); }
@Test public void testDontClearScalarOptionOldValueBeforeParseIfInitialValueFalse() { CommandSpec cmd = CommandSpec.create(); cmd.addOption(OptionSpec.builder("-x").type(String.class).initialValue(null).hasInitialValue(false).build()); CommandLine cl = new CommandLine(cmd); cl.parseArgs("-x", "1"); assertEquals("1", cmd.findOption("x").getValue()); cl.parseArgs("-x", "2"); assertEquals("2", cmd.findOption("x").getValue()); cl.parseArgs(); assertEquals("2", cmd.findOption("x").getValue()); }
@Test public void testDontClearArrayOptionOldValueBeforeParse() { CommandSpec cmd = CommandSpec.create(); cmd.addOption(OptionSpec.builder("-x").arity("2..3").initialValue(new String[] {"ABC"}).hasInitialValue(false).build()); CommandLine cl = new CommandLine(cmd); cl.parseArgs("-x", "1", "2", "3"); assertArrayEquals(new String[] {"1", "2", "3"}, (String[]) cmd.findOption("x").getValue()); cl.parseArgs("-x", "4", "5"); assertArrayEquals(new String[] {"4", "5"}, (String[]) cmd.findOption("x").getValue()); cl.parseArgs(); assertArrayEquals(new String[] {"4", "5"}, (String[]) cmd.findOption("x").getValue()); }