KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > storage > search > implementation > BasicCompositeConstraintTest


1 package org.mmbase.storage.search.implementation;
2
3 import junit.framework.*;
4 import java.util.*;
5 import org.mmbase.module.core.*;
6 import org.mmbase.storage.search.*;
7
8 /**
9  * JUnit tests.
10  *
11  * @author Rob van Maris
12  * @version $Revision: 1.3 $
13  */

14 public class BasicCompositeConstraintTest extends TestCase {
15
16     private final static int TEST_OPERATOR = CompositeConstraint.LOGICAL_AND;
17
18     /** Test instance. */
19     private BasicCompositeConstraint instance = null;
20
21     public BasicCompositeConstraintTest(java.lang.String JavaDoc testName) {
22         super(testName);
23     }
24
25     public static void main(java.lang.String JavaDoc[] args) {
26         junit.textui.TestRunner.run(suite());
27     }
28
29     /**
30      * Sets up before each test.
31      */

32     public void setUp() throws Exception JavaDoc {
33         MMBaseContext.init();
34         MMBase.getMMBase();
35         instance = new BasicCompositeConstraint(TEST_OPERATOR);
36     }
37
38     /**
39      * Tears down after each test.
40      */

41     public void tearDown() throws Exception JavaDoc {}
42
43     /** Test of addChild method, of class org.mmbase.storage.search.implementation.BasicCompositeConstraint. */
44     public void testAddChild() {
45         // Null child, should throw IllegalArgumentException.
46
try {
47             instance.addChild(null);
48             fail("Null child, should throw IllegalArgumentException.");
49         } catch (IllegalArgumentException JavaDoc e) {}
50
51         // Trying to add constraint as child to itself, should throw IllegalArgumentException.
52
try {
53             instance.addChild(instance);
54             fail("Trying to add constraint as child to itself, should throw IllegalArgumentException.");
55         } catch (IllegalArgumentException JavaDoc e) {}
56
57         List childs = instance.getChilds();
58         assertTrue(childs.size() == 0);
59
60         Constraint constraint1 = new BasicConstraint();
61         instance.addChild(constraint1);
62         childs = instance.getChilds();
63         assertTrue(childs.size() == 1);
64         assertTrue(childs.get(0).equals(constraint1));
65         Constraint constraint2 = new BasicConstraint();
66         BasicCompositeConstraint result = instance.addChild(constraint2);
67         childs = instance.getChilds();
68         assertTrue(childs.size() == 2);
69         assertTrue(childs.get(0).equals(constraint1));
70         assertTrue(childs.get(1).equals(constraint2));
71         assertTrue(result == instance);
72     }
73
74     /** Test of BasicCompositeConstraint(int) */
75     public void testConstructor() {
76         // Invalid logical operator value, should throw IllegalArgumentException.
77
try {
78             new BasicCompositeConstraint(CompositeConstraint.LOGICAL_OR + 10);
79             fail("Invalid logical operator value, should throw IllegalArgumentException.");
80         } catch (IllegalArgumentException JavaDoc e) {}
81     }
82
83     /** Test of getChilds method, of class org.mmbase.storage.search.implementation.BasicCompositeConstraint. */
84     public void testGetChilds() {
85         // See:
86
testAddChild();
87
88         List childs = instance.getChilds();
89         Constraint item = new BasicConstraint();
90
91         // List returned must be unmodifiable.
92
try {
93             childs.add(item);
94             fail("Attempt to modify list, must throw UnsupportedOperationException");
95         } catch (UnsupportedOperationException JavaDoc e) {}
96         try {
97             childs.clear();
98             fail("Attempt to modify list, must throw UnsupportedOperationException");
99         } catch (UnsupportedOperationException JavaDoc e) {}
100     }
101
102     /** Test of getLogicalOperator method, of class org.mmbase.storage.search.implementation.BasicCompositeConstraint. */
103     public void testGetLogicalOperator() {
104         assertTrue(instance.getLogicalOperator() == TEST_OPERATOR);
105     }
106
107
108     /** Test of equals method, of class org.mmbase.storage.search.implementation.BasicCompositeConstraint. */
109     public void testEquals() {
110         // TODO: implement test
111
}
112
113     /** Test of hashCode method, of class org.mmbase.storage.search.implementation.BasicCompositeConstraint. */
114     public void testHashCode() {
115         // TODO: implement test
116
}
117
118     /** Test of getBasicSupportLevel method, of class org.mmbase.storage.search.implementation.BasicCompositeConstraint. */
119     public void testGetBasicSupportLevel() {
120         // No childs: optimal support.
121
assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_OPTIMAL);
122         instance.addChild(new TestConstraint(SearchQueryHandler.SUPPORT_OPTIMAL));
123         // Lowest support among childs.
124
assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_OPTIMAL);
125         instance.addChild(new TestConstraint(SearchQueryHandler.SUPPORT_NORMAL));
126         assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_NORMAL);
127         instance.addChild(new TestConstraint(SearchQueryHandler.SUPPORT_OPTIMAL));
128         assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_NORMAL);
129         instance.addChild(new TestConstraint(SearchQueryHandler.SUPPORT_WEAK));
130         assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_WEAK);
131         instance.addChild(new TestConstraint(SearchQueryHandler.SUPPORT_OPTIMAL));
132         assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_WEAK);
133         instance.addChild(new TestConstraint(SearchQueryHandler.SUPPORT_NONE));
134         assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_NONE);
135         instance.addChild(new TestConstraint(SearchQueryHandler.SUPPORT_OPTIMAL));
136         assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_NONE);
137     }
138
139
140     public static Test suite() {
141         TestSuite suite = new TestSuite(BasicCompositeConstraintTest.class);
142
143         return suite;
144     }
145
146 }
147
Popular Tags