1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.synchronoss.cpo.jdbc.parser;
22
23 import junit.framework.TestCase;
24
25 import java.text.ParseException;
26 import java.util.List;
27
28
29 public class SQLExpressionParserTest extends TestCase {
30
31 public void testSelect() {
32 try {
33 String query = "select * from table where a = ? and b = ? and c = ? and d = '0'";
34 SQLExpressionParser parser = new SQLExpressionParser();
35 parser.setExpression(query);
36 List<String> colList = parser.parse();
37
38 assertTrue(colList.size() == 3);
39 assertTrue(colList.get(0).equals("A"));
40 assertTrue(colList.get(1).equals("B"));
41 assertTrue(colList.get(2).equals("C"));
42
43 } catch (ParseException ex) {
44 fail(ex.getMessage());
45 }
46 }
47
48 public void testSelectWithFunction() {
49 try {
50 String query = "select * from table where a = ? and UPPER(b) = ? and c = ? and d = '0'";
51 SQLExpressionParser parser = new SQLExpressionParser();
52 parser.setExpression(query);
53 List<String> colList = parser.parse();
54
55 assertTrue(colList.size() == 3);
56 assertTrue(colList.get(0).equals("A"));
57 assertTrue(colList.get(1).equals("B"));
58 assertTrue(colList.get(2).equals("C"));
59
60 } catch (ParseException ex) {
61 fail(ex.getMessage());
62 }
63 }
64
65 public void testInsert() {
66 try {
67 String query = "insert into table(a, b, c, d) values(?, ?, ?, SYSDATE)";
68 SQLExpressionParser parser = new SQLExpressionParser();
69 parser.setExpression(query);
70 List<String> colList = parser.parse();
71
72 assertTrue(colList.size() == 3);
73 assertTrue(colList.get(0).equals("A"));
74 assertTrue(colList.get(1).equals("B"));
75 assertTrue(colList.get(2).equals("C"));
76
77 } catch (ParseException ex) {
78 fail(ex.getMessage());
79 }
80 }
81 }