summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/beust/jcommander/VariableArityTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/beust/jcommander/VariableArityTest.java')
-rw-r--r--src/test/java/com/beust/jcommander/VariableArityTest.java66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/test/java/com/beust/jcommander/VariableArityTest.java b/src/test/java/com/beust/jcommander/VariableArityTest.java
new file mode 100644
index 0000000..a90392f
--- /dev/null
+++ b/src/test/java/com/beust/jcommander/VariableArityTest.java
@@ -0,0 +1,66 @@
+package com.beust.jcommander;
+
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+public class VariableArityTest {
+
+ public static class ModelGenerationConfig {
+
+ @Parameter(names = { "-m", "--matrixData" }, variableArity = true,
+ description = "File containing a list of instances and their runtimes on various configurations", required = false)
+ public List<String> modelMatrixFile = new LinkedList<String>();
+
+ @Parameter(names = { "-f", "--featureData" }, variableArity = true,
+ description = "File containing a list of instances and their corresponding features", required = true)
+ public List<String> featureFile = new LinkedList<String>();
+
+ @Parameter(names = { "-c", "--configData" }, variableArity = true,
+ description = "File containing a list of configuration parameter values")
+ public List<String> configFile = new LinkedList<String>();
+
+ @Parameter(names = { "-o", "--outputFile" },
+ description = "File to output the resulting data to. Defaults to ./matrix-generation.zip", required = false)
+ public String outputFile = "matrix-generation.zip";
+
+ @Parameter(names = { "--seed" }, description = "Seed used for PRNG [0 means don't use a Seed]")
+ public long seed = 0;
+
+ public void print() {
+ System.out.println("modelMatrixFile: " + modelMatrixFile);
+ System.out.println("featureData: " + featureFile);
+ System.out.println("configFile: " + configFile);
+ System.out.println("output: " + outputFile);
+ System.out.println("seed: " + seed);
+
+ }
+ }
+
+ @Test
+ public void verifyVariableArity() {
+ String input = "-m foo --seed 1024 -c foo -o foo -f foo ";
+
+ String[] split = input.split("\\s+");
+
+ ModelGenerationConfig config = new ModelGenerationConfig();
+ JCommander com = new JCommander(config);
+ com.setProgramName("modelgen");
+
+ com.parse(split);
+
+// config.print();
+ Assert.assertNotEquals(config.seed, 0);
+ Assert.assertEquals(config.modelMatrixFile, Arrays.asList(new String[] { "foo" }));
+ Assert.assertEquals(config.featureFile, Arrays.asList(new String[] { "foo" }));
+ Assert.assertEquals(config.seed, 1024);
+ Assert.assertEquals(config.outputFile, "foo");
+ }
+
+ public static void main(String[] args) {
+ new VariableArityTest().verifyVariableArity();
+ }
+} \ No newline at end of file