diff options
author | Cedric Beust <cedric@beust.com> | 2012-09-23 06:10:45 -0700 |
---|---|---|
committer | Cedric Beust <cedric@beust.com> | 2012-09-23 06:11:47 -0700 |
commit | 5fc805c44e904eb37f24217676b5da1619268c48 (patch) | |
tree | 4977df4dfb78f220d1718a0d973a42d8d318089e /src/test/java/com | |
parent | 31f61c5de3753a86d58a5bf2399ea5ea7312d35b (diff) | |
download | jcommander-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.java | 5 | ||||
-rw-r--r-- | src/test/java/com/beust/jcommander/args/ArgsEnum.java | 11 |
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"}; |