summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/beust/jcommander/VariableArityTest.java
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2016-03-16 13:39:56 -0700
committerIgor Murashkin <iam@google.com>2016-03-16 13:39:56 -0700
commit6d080bb3577ebf0fd22fb70151ea380ab28bbfde (patch)
tree53e550a03aef95685423d65397e13bd4504a04cf /src/test/java/com/beust/jcommander/VariableArityTest.java
parentb3994367e22d0ce3670ff9fb693a4f2939ef5d58 (diff)
parent14fbe2bc5a2c402b456ed68578a5d5dc2c343fa2 (diff)
downloadplatform_external_jcommander-6d080bb3577ebf0fd22fb70151ea380ab28bbfde.tar.gz
platform_external_jcommander-6d080bb3577ebf0fd22fb70151ea380ab28bbfde.tar.bz2
platform_external_jcommander-6d080bb3577ebf0fd22fb70151ea380ab28bbfde.zip
Merge branch 'upstream-master'
Initial downstream of jcommander code (tag jcommander-1.48) from https://github.com/cbeust/jcommander Bug: 27552463 Change-Id: Ia72763ed396d2f3ac3bc2bc66fb3e383818e1c82
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