@Test
public void testParseLongShortLeftover1() throws ParseException
{
String[] args = {"-a", "--beta", "beth", "--c", "gimel", "-", "hi", "i'm", "left",
"over"};
CmdLineParser p = new CmdLineParser(args);
p.registerOpt('a', "alpha", CmdLineParser.ValueExpected.NOT_ACCEPTED);
p.registerOpt('b', "beta", CmdLineParser.ValueExpected.REQUIRED);
p.registerOpt('c', null, CmdLineParser.ValueExpected.OPTIONAL);
assertEquals(p.getNextOpt(), 'a');
assertEquals(p.getNextOpt(), 'b');
assertEquals(p.getValStr(), "beth");
assertEquals(p.getNextOpt(), 'c');
assertEquals(p.getValStr(), "gimel");
assertEquals(p.getNextOpt(), CmdLineParser.EndOfOpts);
String[] r = p.getRemainingArgs();
assertEquals(r.length, 4);
}