--- a/java/sql-dk/test/info/globalcode/sql/dk/CLIParserTest.java Sun Dec 15 22:54:29 2013 +0100
+++ b/java/sql-dk/test/info/globalcode/sql/dk/CLIParserTest.java Sun Dec 15 23:54:37 2013 +0100
@@ -11,8 +11,11 @@
*/
public class CLIParserTest {
- public static final String DATABASE_NAME_1 = "some database 1";
- public static final String SQL_1 = "SELECT * FROM table1";
+ private static final String DATABASE_NAME_1 = "some database 1";
+ private static final String SQL_1 = "SELECT * FROM table1";
+ private static final String DATA_1 = "aaa";
+ private static final String DATA_2 = "bbb";
+ private static final String DATA_3 = "ccc";
private CLIParser parser;
@BeforeMethod
@@ -21,12 +24,51 @@
}
@Test
- public void testParseOptions() throws InvalidOptionsException {
- String[] args = new String[]{Tokens.DB, DATABASE_NAME_1, Tokens.SQL, SQL_1};
+ public void testParseOptions_QueryNow_Numbered() throws InvalidOptionsException {
+ String[] args = new String[]{Tokens.DB, DATABASE_NAME_1, Tokens.SQL, SQL_1, Tokens.DATA, DATA_1, DATA_2, DATA_3};
CLIOptions options = parser.parseOptions(args);
options.validate();
assertEquals(options.getDatabaseName(), DATABASE_NAME_1);
assertEquals(options.getSql(), SQL_1);
+ assertEquals(options.getMode(), CLIOptions.MODE.QUERY_NOW);
+ assertEquals(options.getNumberedParameters().size(), 3);
+ assertEquals(options.getNumberedParameters().get(0).getValue(), DATA_1);
+ assertEquals(options.getNumberedParameters().get(1).getValue(), DATA_2);
+ assertEquals(options.getNumberedParameters().get(2).getValue(), DATA_3);
+ assertEquals(options.getNumberedParameters().get(0).getType(), Parameter.DEFAULT_TYPE);
+ assertEquals(options.getNumberedParameters().get(1).getType(), Parameter.DEFAULT_TYPE);
+ assertEquals(options.getNumberedParameters().get(2).getType(), Parameter.DEFAULT_TYPE);
+ }
+
+ @Test
+ public void testParseOptions_QueryNow_Named() throws InvalidOptionsException {
+ String[] args = new String[]{Tokens.DB, DATABASE_NAME_1, Tokens.SQL, SQL_1, Tokens.TYPES};
+ CLIOptions options = parser.parseOptions(args);
+ options.validate();
+
+ assertEquals(options.getDatabaseName(), DATABASE_NAME_1);
+ assertEquals(options.getSql(), SQL_1);
+ assertEquals(options.getMode(), CLIOptions.MODE.QUERY_NOW);
+ }
+
+ @Test
+ public void testParseOptions_PrepareBatch() throws InvalidOptionsException {
+ String[] args = new String[]{Tokens.BATCH, Tokens.SQL, SQL_1};
+ CLIOptions options = parser.parseOptions(args);
+ options.validate();
+
+ assertEquals(options.getSql(), SQL_1);
+ assertEquals(options.getMode(), CLIOptions.MODE.PREPARE_BATCH);
+ }
+
+ @Test
+ public void testParseOptions_ExecuteBatch() throws InvalidOptionsException {
+ String[] args = new String[]{Tokens.BATCH, Tokens.DB, DATABASE_NAME_1};
+ CLIOptions options = parser.parseOptions(args);
+ options.validate();
+
+ assertEquals(options.getDatabaseName(), DATABASE_NAME_1);
+ assertEquals(options.getMode(), CLIOptions.MODE.EXECUTE_BATCH);
}
}
\ No newline at end of file