summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java')
-rw-r--r--src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java60
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();
+ }
+}