blob: 54ce2e9a291d0b983d2bdd832d92026982247dfa [file] [log] [blame]
package org.kohsuke.args4j;
public class SetterTest extends Args4JTestBase<Setter> {
@Override
public Setter getTestObject() {
return new Setter();
}
public void testSettingStringNoValues() {
Setter bo = testObject;
args = new String[]{};
try {
parser.parseArgument(args);
assertTrue("Default value set.", "default".equals(bo.str));
} catch (CmdLineException e) {
fail("Call without parameters is valid!");
}
}
public void testSettingString() {
Setter bo = testObject;
args = new String[]{"-str","test"};
try {
parser.parseArgument(args);
assertTrue("Given value set.", "TEST".equals(bo.str));
} catch (CmdLineException e) {
fail("Setting a string value should be possible");
}
}
public void testSettingUsage() {
args = new String[]{"-wrong-usage"};
try {
parser.parseArgument(args);
fail("Doesnt detect wrong parameters.");
} catch (CmdLineException e) {
String expectedError = "\"-wrong-usage\" is not a valid option";
String expectedUsage = " -str VAL : set a string";
String errorMessage = e.getMessage();
String[] usageLines = getUsageMessage();
assertUsageLength(1);
assertTrue("Got wrong error message", errorMessage.startsWith(expectedError));
assertEquals(expectedUsage, usageLines[0]);
}
}
public void testMissingParameter() {
args = new String[]{"-str"};
try {
parser.parseArgument(args);
fail("Should miss one parameter.");
} catch (CmdLineException e) {
String expectedError = "Option \"-str\" takes an operand";
String expectedUsage = " -str VAL : set a string";
String[] usageLines = getUsageMessage();
String errorMessage = e.getMessage();
assertUsageLength(1);
assertTrue("Got wrong error message: " + errorMessage, errorMessage.startsWith(expectedError));
assertEquals("Got wrong usage message", expectedUsage, usageLines[0]);
}
}
}