diff options
Diffstat (limited to 'src/test/java/com/beust/jcommander/DefaultProviderTest.java')
-rw-r--r-- | src/test/java/com/beust/jcommander/DefaultProviderTest.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/java/com/beust/jcommander/DefaultProviderTest.java b/src/test/java/com/beust/jcommander/DefaultProviderTest.java index 45ab6b6..45fad38 100644 --- a/src/test/java/com/beust/jcommander/DefaultProviderTest.java +++ b/src/test/java/com/beust/jcommander/DefaultProviderTest.java @@ -117,4 +117,24 @@ public class DefaultProviderTest { Assert.assertEquals(a.log.intValue(), 19); } + @Test + public void missingRequiredParameterWithDefaultValueProviderShouldNotRaiseParameterException() { + class ArgsRequired { + @Parameter(names = "-log", description = "Level of verbosity", required = true) + public Integer log; + } + + IDefaultProvider defaultProvider = new IDefaultProvider() { + public String getDefaultValueFor(String optionName) { + return "-log".equals(optionName) ? "1" : ""; + } + }; + + ArgsRequired a = new ArgsRequired(); + JCommander jc = new JCommander(a); + jc.setDefaultProvider(defaultProvider); + jc.parse(); + + Assert.assertEquals(a.log.intValue(), 1); + } } |