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  }