package joptsimple.examples;
import joptsimple.OptionException;
import joptsimple.OptionParser;
import joptsimple.OptionSet;
import org.junit.Test;
import static org.junit.Assert.*;
public class RequiredOptionsTest {
@Test( expected = OptionException.class )
public void allowsSpecificationOfRequiredOptions() {
OptionParser parser = new OptionParser() {
{
accepts( "userid" ).withRequiredArg().required();
accepts( "password" ).withRequiredArg().required();
}
};
parser.parse( "--userid", "bob" );
}
@Test
public void aHelpOptionMeansRequiredOptionsNeedNotBePresent() {
OptionParser parser = new OptionParser() {
{
accepts( "userid" ).withRequiredArg().required();
accepts( "password" ).withRequiredArg().required();
accepts( "help" ).forHelp();
}
};
OptionSet options = parser.parse( "--help" );
assertTrue( options.has( "help" ) );
}
@Test( expected = OptionException.class )
public void missingHelpOptionMeansRequiredOptionsMustBePresent() {
OptionParser parser = new OptionParser() {
{
accepts( "userid" ).withRequiredArg().required();
accepts( "password" ).withRequiredArg().required();
accepts( "help" ).forHelp();
}
};
parser.parse( "" );
}
}