summaryrefslogtreecommitdiff
path: root/src/test/java/com
diff options
context:
space:
mode:
authorCedric Beust <cedric@beust.com>2012-09-23 06:10:45 -0700
committerCedric Beust <cedric@beust.com>2012-09-23 06:11:47 -0700
commit5fc805c44e904eb37f24217676b5da1619268c48 (patch)
tree4977df4dfb78f220d1718a0d973a42d8d318089e /src/test/java/com
parent31f61c5de3753a86d58a5bf2399ea5ea7312d35b (diff)
downloadjcommander-5fc805c44e904eb37f24217676b5da1619268c48.tar.gz
Added enum support (Scott M. Stark).
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/beust/jcommander/JCommanderTest.java5
-rw-r--r--src/test/java/com/beust/jcommander/args/ArgsEnum.java11
2 files changed, 12 insertions, 4 deletions
diff --git a/src/test/java/com/beust/jcommander/JCommanderTest.java b/src/test/java/com/beust/jcommander/JCommanderTest.java
index 5199cad..a5caca0 100644
--- a/src/test/java/com/beust/jcommander/JCommanderTest.java
+++ b/src/test/java/com/beust/jcommander/JCommanderTest.java
@@ -48,6 +48,7 @@ import com.beust.jcommander.args.ArgsBooleanArity;
import com.beust.jcommander.args.ArgsBooleanArity0;
import com.beust.jcommander.args.ArgsConverter;
import com.beust.jcommander.args.ArgsEnum;
+import com.beust.jcommander.args.ArgsEnum.ChoiceType;
import com.beust.jcommander.args.ArgsEquals;
import com.beust.jcommander.args.ArgsHelp;
import com.beust.jcommander.args.ArgsI18N1;
@@ -561,11 +562,13 @@ public class JCommanderTest {
public void enumArgs() {
ArgsEnum args = new ArgsEnum();
- String[] argv = { "-choice", "ONE"};
+ String[] argv = { "-choice", "ONE", "-choices", "ONE", "TWO" };
JCommander jc = new JCommander(args, argv);
Assert.assertEquals(args.choice, ArgsEnum.ChoiceType.ONE);
+ List<ChoiceType> expected = Arrays.asList(ChoiceType.ONE, ChoiceType.TWO);
+ Assert.assertEquals(expected, args.choices);
Assert.assertEquals(jc.getParameters().get(0).getDescription(),
"Options: " + EnumSet.allOf((Class<? extends Enum>) ArgsEnum.ChoiceType.class));
diff --git a/src/test/java/com/beust/jcommander/args/ArgsEnum.java b/src/test/java/com/beust/jcommander/args/ArgsEnum.java
index 16643cd..c6b0c08 100644
--- a/src/test/java/com/beust/jcommander/args/ArgsEnum.java
+++ b/src/test/java/com/beust/jcommander/args/ArgsEnum.java
@@ -18,12 +18,14 @@
package com.beust.jcommander.args;
-import com.beust.jcommander.JCommander;
-import com.beust.jcommander.Parameter;
+import java.util.ArrayList;
+import java.util.EnumSet;
+import java.util.List;
import org.testng.Assert;
-import java.util.EnumSet;
+import com.beust.jcommander.JCommander;
+import com.beust.jcommander.Parameter;
/**
* Test enums.
@@ -36,6 +38,9 @@ public class ArgsEnum {
@Parameter(names = "-choice")
public ChoiceType choice = ChoiceType.ONE;
+ @Parameter(names = "-choices", variableArity = true)
+ public List<ChoiceType> choices = new ArrayList<ChoiceType>();
+
public static void main(String[] args1) {
ArgsEnum args = new ArgsEnum();
String[] argv = { "-choice", "ONE"};