1 package uba.db.sql.language;
2
3 import junit.framework.TestCase;
4 import uba.db.testhelpers.TestUtils;
5
6 /***
7 * Test de unidad para {@link uba.db.sql.language.NullSelectionCriteria}.
8 *
9 * @version $Revision: 1.3 $
10 */
11 public class NullSelectionCriteriaTest extends TestCase {
12 private SelectionCriteria nullCriteria;
13
14 /***
15 * @see junit.framework.TestCase#setUp()
16 */
17 protected void setUp() throws Exception {
18 super.setUp();
19 nullCriteria = new NullSelectionCriteria();
20 }
21
22 /***
23 * Test de igualdad entre dos instancias.
24 */
25 public void testEquals() {
26 TestUtils.assertEqualsImplementation(new NullSelectionCriteria(),
27 new NullSelectionCriteria(),
28 "other");
29 }
30
31 /***
32 * Test: nullCriteria AND exp => exp
33 */
34 public void testAnd() throws Exception {
35 SelectionCriteria expected = new SingleSelectionCriteria(new EqualComparison(
36 new ColumnName("a"), new ColumnName("b")));
37 SelectionCriteria result = nullCriteria.and(expected);
38
39 assertSame(expected, result);
40 }
41
42 /***
43 * Test: nullCriteria OR exp => exp
44 */
45 public void testOr() throws Exception {
46 SelectionCriteria expected = new SingleSelectionCriteria(new EqualComparison(
47 new ColumnName("a"), new ColumnName("b")));
48 SelectionCriteria result = nullCriteria.or(expected);
49
50 assertSame(expected, result);
51 }
52
53 /***
54 * Test: exp AND nullCriteria => exp
55 */
56 public void testAndAfter() throws Exception {
57 SelectionCriteria expected = new SingleSelectionCriteria(new EqualComparison(
58 new ColumnName("a"), new ColumnName("b")));
59 SelectionCriteria result = expected.and(nullCriteria);
60
61 assertSame(expected, result);
62 }
63
64 /***
65 * Test: exp OR nullCriteria => exp
66 */
67 public void testOrAfter() throws Exception {
68 SelectionCriteria expected = new SingleSelectionCriteria(new EqualComparison(
69 new ColumnName("a"), new ColumnName("b")));
70 SelectionCriteria result = expected.or(nullCriteria);
71
72 assertSame(expected, result);
73 }
74
75 /***
76 * Test: NOT nullCriteria => nullCriteria
77 */
78 public void testNot() throws Exception {
79 assertSame(nullCriteria, nullCriteria.not());
80 }
81 }