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 import org.synchronoss.cpo.parser.BoundExpressionParser;
25
26 import java.text.ParseException;
27 import java.util.List;
28
29
30 public class BoundExpressionParserTest extends TestCase {
31
32 public void testSelect() {
33 try {
34 String query = "select * from table where a = ? and b = ? and c = ? and d = '0'";
35 BoundExpressionParser parser = new BoundExpressionParser();
36 parser.setExpression(query);
37 List<String> colList = parser.parse();
38
39 assertTrue(colList.size() == 3);
40 assertTrue(colList.get(0).equals("A"));
41 assertTrue(colList.get(1).equals("B"));
42 assertTrue(colList.get(2).equals("C"));
43
44 } catch (ParseException ex) {
45 fail(ex.getMessage());
46 }
47 }
48
49 public void testSelectWithFunction() {
50 try {
51 String query = "select * from table where a = ? and UPPER(b) = ? and c = ? and d = '0'";
52 BoundExpressionParser parser = new BoundExpressionParser();
53 parser.setExpression(query);
54 List<String> colList = parser.parse();
55
56 assertTrue(colList.size() == 3);
57 assertTrue(colList.get(0).equals("A"));
58 assertTrue(colList.get(1).equals("B"));
59 assertTrue(colList.get(2).equals("C"));
60
61 } catch (ParseException ex) {
62 fail(ex.getMessage());
63 }
64 }
65
66 public void testInsert() {
67 try {
68 String query = "insert into table(a, b, c, d) values(?, ?, ?, SYSDATE)";
69 BoundExpressionParser parser = new BoundExpressionParser();
70 parser.setExpression(query);
71 List<String> colList = parser.parse();
72
73 assertTrue(colList.size() == 3);
74 assertTrue(colList.get(0).equals("A"));
75 assertTrue(colList.get(1).equals("B"));
76 assertTrue(colList.get(2).equals("C"));
77
78 } catch (ParseException ex) {
79 fail(ex.getMessage());
80 }
81 }
82 }