diff options
author | Cedric Beust <cedric@beust.com> | 2012-07-17 22:44:09 -0700 |
---|---|---|
committer | Cedric Beust <cedric@beust.com> | 2012-07-17 22:44:09 -0700 |
commit | f65b16085ead5063dbb7c9a6f366ebedb2227f68 (patch) | |
tree | d29176d6bbd5bb7443af98d0e8b63486336e81f3 /src/test | |
parent | 94e08e73342f858518b14a70624c38479c0365d3 (diff) | |
download | jcommander-f65b16085ead5063dbb7c9a6f366ebedb2227f68.tar.gz |
Fixed: Bugs with the PositiveInteger validator
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/beust/jcommander/PositiveIntegerTest.java | 65 | ||||
-rw-r--r-- | src/test/resources/testng-single.xml | 13 | ||||
-rw-r--r-- | src/test/resources/testng.xml | 1 |
3 files changed, 79 insertions, 0 deletions
diff --git a/src/test/java/com/beust/jcommander/PositiveIntegerTest.java b/src/test/java/com/beust/jcommander/PositiveIntegerTest.java new file mode 100644 index 0000000..ec7d273 --- /dev/null +++ b/src/test/java/com/beust/jcommander/PositiveIntegerTest.java @@ -0,0 +1,65 @@ +package com.beust.jcommander; + +import com.beust.jcommander.validators.PositiveInteger; + +import org.testng.annotations.Test; + +public class PositiveIntegerTest { + + @Test + public void validateTest() { + class Arg { + @Parameter(names = { "-p", "--port" }, description = "Shows help", validateWith = PositiveInteger.class) + private int port = 0; + } + Arg arg = new Arg(); + JCommander jc = new JCommander(arg); + jc.parse(new String[] { "-p", "8080" }); + + } + + @Test(expectedExceptions = ParameterException.class) + public void validateTest2() { + class Arg { + @Parameter(names = { "-p", "--port" }, description = "Shows help", validateWith = PositiveInteger.class) + private int port = 0; + } + Arg arg = new Arg(); + JCommander jc = new JCommander(arg); + jc.parse(new String[] { "-p", "" }); + } + + @Test(expectedExceptions = ParameterException.class) + public void validateTest3() { + class Arg { + @Parameter(names = { "-p", "--port" }, description = "Shows help", validateWith = PositiveInteger.class) + private int port = 0; + } + Arg arg = new Arg(); + JCommander jc = new JCommander(arg); + jc.parse(new String[] { "-p", "-1" }); + } + + @Test(expectedExceptions = ParameterException.class) + public void validateTest4() { + class Arg { + @Parameter(names = { "-p", "--port" }, description = "Port Number", validateWith = PositiveInteger.class) + private int port = 0; + } + Arg arg = new Arg(); + JCommander jc = new JCommander(arg); + jc.parse(new String[] { "-p", "abc" }); + } + + @Test(expectedExceptions = ParameterException.class) + public void validateTest5() { + class Arg { + @Parameter(names = { "-p", "--port" }, description = "Port Number", validateWith = PositiveInteger.class) + private int port = 0; + } + + Arg arg = new Arg(); + JCommander jc = new JCommander(arg); + jc.parse(new String[] { "--port", " " }); + } +}
\ No newline at end of file diff --git a/src/test/resources/testng-single.xml b/src/test/resources/testng-single.xml new file mode 100644 index 0000000..a50651a --- /dev/null +++ b/src/test/resources/testng-single.xml @@ -0,0 +1,13 @@ +<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" > + +<suite name="JCommander" verbose="2"> + + <test name="JCommander tests"> + <classes> + <class name="com.beust.jcommander.PositiveIntegerTest"> + </class> + </classes> + </test> + +</suite> + diff --git a/src/test/resources/testng.xml b/src/test/resources/testng.xml index c9639d4..7dc97c9 100644 --- a/src/test/resources/testng.xml +++ b/src/test/resources/testng.xml @@ -14,6 +14,7 @@ <class name="com.beust.jcommander.dynamic.DynamicParameterTest" /> <class name="com.beust.jcommander.VariableArityTest" /> <class name="com.beust.jcommander.MethodSetterTest" /> + <class name="com.beust.jcommander.PositiveIntegerTest" /> </classes> </test> |