Index: lutincommandline/src/test/org/codelutin/option/ParserTest.java diff -u lutincommandline/src/test/org/codelutin/option/ParserTest.java:1.4 lutincommandline/src/test/org/codelutin/option/ParserTest.java:1.5 --- lutincommandline/src/test/org/codelutin/option/ParserTest.java:1.4 Sun Mar 16 11:08:27 2008 +++ lutincommandline/src/test/org/codelutin/option/ParserTest.java Sun Mar 16 21:15:58 2008 @@ -120,12 +120,12 @@ public void testArgumentsBeforeFirstOption() throws Exception { initParser(MyParser.class); - doFailedParse(parser, 0, 0, 2,"first", "help"); + doFailedParse(parser, 0, 0, 2, "first", "help"); //ParserUtilForTest.assertError(parser, 0, 0, 2, null); - doFailedParse(parser, 1, 0, 1,"first", "--help"); + doFailedParse(parser, 1, 0, 1, "first", "--help"); - doFailedParse(parser, 1, 0, 2,"first","second", "--help"); + doFailedParse(parser, 1, 0, 2, "first", "second", "--help"); //parser.doParse("first", "--help"); //ParserUtilForTest.assertError(parser, 1, 0, 1, null); @@ -138,39 +138,39 @@ initParser(MyParser1.class); MyParser1 parser = (MyParser1) ParserTest.parser; - doFailedParse(parser, 0, 3, 0,"--mandatory1"); + doFailedParse(parser, 0, 3, 0, "--mandatory1"); - doFailedParse(parser, 1, 2, 0,"-m1", "-m2"); + doFailedParse(parser, 1, 2, 0, "-m1", "-m2"); - doFailedParse(parser, 1, 3, 0,"-m1", "-m2","--mandatory"); + doFailedParse(parser, 1, 3, 0, "-m1", "-m2", "--mandatory"); - doFailedParse(parser, 1, 1, 0,"-m1", "mconstant1"); + doFailedParse(parser, 1, 1, 0, "-m1", "mconstant1"); - doFailedParse(parser, 1, 2, 0,"-m1", "mconstant1", "mconstant1", "-m2"); + doFailedParse(parser, 1, 2, 0, "-m1", "mconstant1", "mconstant1", "-m2"); parser.doParse("-m1", "mconstant1", "-m2", "-h"); - ParserUtilForTest.assertError(parser, 3, 0, 0, null); + ParserUtilForTest.assertError(parser, 3, 0, 0); - OptionHelp1[] ops = parser.getOptions(MyParser1.HELP_OPTION_KEY); + Option[] ops = parser.getLastResult().getOptions(MyParser1.HELP_OPTION_KEY); assertEquals(1, ops.length); - OptionHelp1 op = parser.getOption(MyParser1.HELP_OPTION_KEY); + Option op = parser.getLastResult().getOption(MyParser1.HELP_OPTION_KEY); assertNotNull(op); - AbstractContext context = new MyContext1(); - parser.doAllActions(context); + //AbstractContext context = new MyContext1(); + //parser.doAllActions(context); //TC-TODO make this test works again : assertEquals(3, counter); } public void testTooMuchOptionFound() throws Exception { initParser(MyParser.class); - doFailedParse(parser, 1, 1, 0,"-h", "--help"); + doFailedParse(parser, 1, 1, 0, "-h", "--help"); - doFailedParse(parser, 1, 1, 0,"--help", "--help"); + doFailedParse(parser, 1, 1, 0, "--help", "--help"); - doFailedParse(parser, 1, 1, 0,"-h", "-h"); + doFailedParse(parser, 1, 1, 0, "-h", "-h"); - doFailedParse(parser, 1, 2, 0,"-h", "-h","-h"); + doFailedParse(parser, 1, 2, 0, "-h", "-h", "-h"); } @@ -188,13 +188,11 @@ } private void doFailedParse(OptionParser parser, int i, int i1, int i2, String... s) throws IOException { - try { - parser.doParse(s); - fail(); - } catch (ParserFailedException e) { - ParserUtilForTest.assertError(parser, i, i1, i2,e); - } + parser.doParse(s); + + ParserUtilForTest.assertError(parser, i, i1, i2); + } } Index: lutincommandline/src/test/org/codelutin/option/MyContext.java diff -u lutincommandline/src/test/org/codelutin/option/MyContext.java:1.1 lutincommandline/src/test/org/codelutin/option/MyContext.java:1.2 --- lutincommandline/src/test/org/codelutin/option/MyContext.java:1.1 Sun Mar 16 11:08:27 2008 +++ lutincommandline/src/test/org/codelutin/option/MyContext.java Sun Mar 16 21:15:58 2008 @@ -1,24 +1,15 @@ package org.codelutin.option; -import java.io.IOException; - /** @author chemit */ public class MyContext extends AbstractContext { - protected MyContext(String... args) throws IOException, ParserFailedException { - super(args); + protected MyContext() throws Exception { + super(MyParser.class); } public void initI18n() { } - public MyParser getParser() { - if (parser == null) { - parser = new MyParser(); - } - return parser; - } - public Config getConfig() { return null; } Index: lutincommandline/src/test/org/codelutin/option/ParserUtilForTest.java diff -u lutincommandline/src/test/org/codelutin/option/ParserUtilForTest.java:1.2 lutincommandline/src/test/org/codelutin/option/ParserUtilForTest.java:1.3 --- lutincommandline/src/test/org/codelutin/option/ParserUtilForTest.java:1.2 Sun Mar 16 11:08:27 2008 +++ lutincommandline/src/test/org/codelutin/option/ParserUtilForTest.java Sun Mar 16 21:15:58 2008 @@ -20,10 +20,9 @@ import java.io.File; import java.io.IOException; +import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; -import java.io.PrintWriter; -import java.util.Arrays; /** * Some usefull methods for testing OptionPArser and others. @@ -57,12 +56,14 @@ assertEquals(nbErrors, parser.getErrors().length); } - public static void assertError(OptionParser parser, int nbOptions, int nbErrors, int nbUnused, ParserFailedException e) throws IOException { + public static void assertError(OptionParser parser, int nbOptions, int nbErrors, int nbUnused) throws IOException { + OptionParserResult result = parser.getLastResult(); + ParserFailedException e = result.getError(); Writer writer = new StringWriter(); writer.append("\n=============================================== nbOptions:"); writer.append(String.valueOf(nbOptions)); writer.append(", nbErrors:").append(String.valueOf(nbErrors)); - writer.append(", nbUnused:").append(String.valueOf(nbUnused)).append(", args:").append(Arrays.toString(parser.getArguments())).append("\n"); + writer.append(", nbUnused:").append(String.valueOf(nbUnused)).append(", args:").append(result.getUnusedArguments().values().toString()).append("\n"); if (e != null) { e.printStackTrace(new PrintWriter(writer)); } @@ -70,9 +71,9 @@ System.out.println(writer.toString()); writer.close(); - assertEquals(nbOptions, parser.getNbOptions()); - assertEquals(nbErrors , e == null?0:e.getNbErrors()); - assertEquals(nbUnused, e==null?0:e.getNbUnsued()); + assertEquals(nbOptions, result.size()); + assertEquals(nbErrors, e == null ? 0 : e.getNbErrors()); + assertEquals(nbUnused, result.getNbUnsued()); } Index: lutincommandline/src/test/org/codelutin/option/MyContext1.java diff -u lutincommandline/src/test/org/codelutin/option/MyContext1.java:1.1 lutincommandline/src/test/org/codelutin/option/MyContext1.java:1.2 --- lutincommandline/src/test/org/codelutin/option/MyContext1.java:1.1 Sun Mar 16 11:08:27 2008 +++ lutincommandline/src/test/org/codelutin/option/MyContext1.java Sun Mar 16 21:15:58 2008 @@ -1,28 +1,19 @@ package org.codelutin.option; -import org.codelutin.option.MyParser1; - -import java.io.IOException; - /** @author chemit */ public class MyContext1 extends AbstractContext { - protected MyContext1(String... args) throws IOException, ParserFailedException { - super(args); + protected MyContext1() throws Exception { + super(MyParser1.class); } public void initI18n() { } - public MyParser1 getParser() { - if (parser == null) { - parser = new MyParser1(); - } - return parser; - } - public Config getConfig() { return null; } + + }