java/sql-dk/test/info/globalcode/sql/dk/CLIParserTest.java
branchv_0
changeset 7 a7555ec6eea9
parent 6 c79a5b030e99
child 9 2ec52027b97f
--- 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