diff options
Diffstat (limited to 'src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java')
-rw-r--r-- | src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java b/src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java new file mode 100644 index 0000000..98327bd --- /dev/null +++ b/src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java @@ -0,0 +1,60 @@ +package com.beust.jcommander.dynamic; + +import com.beust.jcommander.JCommander; +import com.beust.jcommander.ParameterException; +import com.beust.jcommander.internal.Maps; + +import org.testng.Assert; +import org.testng.annotations.Test; + +@Test +public class DynamicParameterTest { + + @Test(expectedExceptions = ParameterException.class) + public void nonMapShouldThrow() { + new JCommander(new DSimpleBad()).parse("-D", "a=b", "-D", "c=d"); + } + + @Test(expectedExceptions = ParameterException.class) + public void wrongSeparatorShouldThrow() { + DSimple ds = new DSimple(); + new JCommander(ds).parse("-D", "a:b", "-D", "c=d"); + } + + private void simple(String... parameters) { + DSimple ds = new DSimple(); + new JCommander(ds).parse(parameters); + Assert.assertEquals(ds.params, Maps.newHashMap("a", "b", "c", "d")); + } + + public void simpleWithSpaces() { + simple("-D", "a=b", "-D", "c=d"); + } + + public void simpleWithoutSpaces() { + simple("-Da=b", "-Dc=d"); + } + + public void usage() { + DSimple ds = new DSimple(); + new JCommander(ds).usage(new StringBuilder()); + } + + public void differentAssignment() { + DSimple ds = new DSimple(); + new JCommander(ds).parse("-D", "a=b", "-A", "c@d"); + Assert.assertEquals(ds.params, Maps.newHashMap("a", "b")); + Assert.assertEquals(ds.params2, Maps.newHashMap("c", "d")); + } + + @Test(enabled = false) + public static void main(String[] args) { + DynamicParameterTest dpt = new DynamicParameterTest(); + dpt.simpleWithSpaces(); +// dpt.nonMapShouldThrow(); +// dpt.wrongSeparatorShouldThrow(); +// dpt.differentAssignment(); +// dpt.arity0(); +// dpt.usage(); + } +} |