diff options
author | Igor Murashkin <iam@google.com> | 2016-03-16 13:39:56 -0700 |
---|---|---|
committer | Igor Murashkin <iam@google.com> | 2016-03-16 13:39:56 -0700 |
commit | 6d080bb3577ebf0fd22fb70151ea380ab28bbfde (patch) | |
tree | 53e550a03aef95685423d65397e13bd4504a04cf /src/test/java/com/beust/jcommander/VariableArityTest.java | |
parent | b3994367e22d0ce3670ff9fb693a4f2939ef5d58 (diff) | |
parent | 14fbe2bc5a2c402b456ed68578a5d5dc2c343fa2 (diff) | |
download | platform_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.java | 66 |
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 |