KickJava   Java API By Example, From Geeks To Geeks.

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


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.module.corebuilders.*;
7 import org.mmbase.storage.search.*;
8
9 /**
10  * JUnit tests.
11  *
12  * @author Rob van Maris
13  * @version $Revision: 1.4 $
14  */

15 public class ModifiableQueryTest extends TestCase {
16     
17     private final static String JavaDoc IMAGES = "images";
18     private final static String JavaDoc TITLE = "title";
19     private final static String JavaDoc DESCRIPTION = "description";
20     private final static String JavaDoc NEWS = "news";
21     
22     private final static int MAX_NUMBER1 = 123;
23     private final static int MAX_NUMBER2 = 456;
24     private final static int OFFSET1 = 987;
25     private final static int OFFSET2 = 654;
26     
27     /** Test instance. */
28     private ModifiableQuery instance = null;
29     
30     /** Original query. */
31     private BasicSearchQuery query = null;
32     
33     private MMBase mmbase = null;
34     private MMObjectBuilder images = null;
35     private MMObjectBuilder news = null;
36     private FieldDefs imagesTitle = null;
37     private FieldDefs imagesDescription = null;
38     private Step step1 = null;
39     private StepField field1 = null;
40     
41     public ModifiableQueryTest(java.lang.String JavaDoc testName) {
42         super(testName);
43     }
44     
45     public static void main(java.lang.String JavaDoc[] args) {
46         junit.textui.TestRunner.run(suite());
47     }
48     
49     /**
50      * Sets up before each test.
51      */

52     public void setUp() throws Exception JavaDoc {
53         MMBaseContext.init();
54         mmbase = MMBase.getMMBase();
55         images = mmbase.getBuilder(IMAGES);
56         imagesTitle = images.getField(TITLE);
57         imagesDescription = images.getField(DESCRIPTION);
58         news = mmbase.getBuilder(NEWS);
59         news.getField(TITLE);
60         
61         // Construct query.
62
query = new BasicSearchQuery();
63         step1 = query.addStep(images);
64         field1 = query.addField(step1, imagesTitle);
65         instance = new ModifiableQuery(query);
66     }
67     
68     /**
69      * Tears down after each test.
70      */

71     public void tearDown() throws Exception JavaDoc {}
72     
73     /** Test of setMaxNumber method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
74     public void testSetMaxNumber() {
75         query.setMaxNumber(MAX_NUMBER1);
76         assertTrue(instance.getMaxNumber() == MAX_NUMBER1);
77         instance.setMaxNumber(MAX_NUMBER2);
78         assertTrue(instance.getMaxNumber() == MAX_NUMBER2);
79         ModifiableQuery result = instance.setMaxNumber(-1);
80         assertTrue(instance.getMaxNumber() == MAX_NUMBER1);
81         assertTrue(result == instance);
82     }
83     
84     /** Test of setOffset method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
85     public void testSetOffset() {
86         query.setOffset(OFFSET1);
87         assertTrue(instance.getOffset() == OFFSET1);
88         instance.setOffset(OFFSET2);
89         assertTrue(instance.getOffset() == OFFSET2);
90         ModifiableQuery result = instance.setOffset(-1);
91         assertTrue(instance.getOffset() == OFFSET1);
92         assertTrue(result == instance);
93     }
94     
95     /** Test of getMaxNumber method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
96     public void testGetMaxNumber() {
97         // Same as:
98
testSetMaxNumber();
99     }
100     
101     /** Test of getOffset method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
102     public void testGetOffset() {
103         // Same as:
104
testSetOffset();
105     }
106     
107     /** Test of setConstraint method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
108     public void testSetConstraint() {
109         Constraint c1 = new BasicFieldNullConstraint(field1);
110         Constraint c2 = new BasicFieldValueConstraint(field1, "jjfkljfd");
111         query.setConstraint(c1);
112         assertTrue(instance.getConstraint().equals(c1));
113         instance.setConstraint(c2);
114         assertTrue(instance.getConstraint().equals(c2));
115         ModifiableQuery result = instance.setConstraint(null);
116         assertTrue(instance.getConstraint().equals(c1));
117         assertTrue(result == instance);
118     }
119     
120     /** Test of getConstraint method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
121     public void testGetConstraint() {
122         // Same as:
123
testSetConstraint();
124     }
125     
126     /** Test of setFields method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
127     public void testSetFields() {
128         StepField field2 = new BasicStepField(step1, imagesDescription);
129         List fields1 = new ArrayList();
130         fields1.add(field1);
131         List fields2 = new ArrayList();
132         fields2.add(field2);
133         
134         assertTrue(instance.getFields().equals(fields1));
135         instance.setFields(fields2);
136         assertTrue(instance.getFields().equals(fields2));
137         ModifiableQuery result = instance.setFields(null);
138         assertTrue(instance.getFields().equals(fields1));
139         assertTrue(result == instance);
140     }
141     
142     /** Test of getFields method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
143     public void testGetFields() {
144         // Same as:
145
testSetFields();
146     }
147     
148     /** Test of setSortOrders method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
149     public void testSetSortOrders() {
150         BasicSortOrder so1 = query.addSortOrder(field1)
151             .setDirection(SortOrder.ORDER_ASCENDING);
152         List sortOrders1 = new ArrayList();
153         sortOrders1.add(so1);
154         BasicSortOrder so2 = new BasicSortOrder(field1)
155             .setDirection(SortOrder.ORDER_DESCENDING);
156         List sortOrders2 = new ArrayList();
157         sortOrders2.add(so2);
158         
159         assertTrue(instance.getSortOrders().equals(sortOrders1));
160         instance.setSortOrders(sortOrders2);
161         assertTrue(instance.getSortOrders().equals(sortOrders2));
162         ModifiableQuery result = instance.setSortOrders(null);
163         assertTrue(instance.getSortOrders().equals(sortOrders1));
164         assertTrue(result == instance);
165     }
166     
167     /** Test of getSortOrders method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
168     public void testGetSortOrders() {
169         // Same as:
170
testSetSortOrders();
171     }
172     
173     /** Test of setSteps method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
174     public void testSetSteps() {
175         Step step2 = query.addStep(news);
176         List steps1 = new ArrayList();
177         steps1.add(step1);
178         steps1.add(step2);
179         List steps2 = new ArrayList();
180         steps2.add(step1);
181         
182         assertTrue(instance.getSteps().equals(steps1));
183         instance.setSteps(steps2);
184         assertTrue(instance.getSteps().equals(steps2));
185         ModifiableQuery result = instance.setSteps(null);
186         assertTrue(instance.getSteps().equals(steps1));
187         assertTrue(result == instance);
188     }
189     
190     /** Test of getSteps method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
191     public void testGetSteps() {
192         // Same as:
193
testSetSteps();
194     }
195     
196     /** Test of setDistinct method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
197     public void testSetDistinct() {
198         assertTrue(!instance.isDistinct());
199         instance.setDistinct(Boolean.TRUE);
200         assertTrue(instance.isDistinct());
201         ModifiableQuery result = instance.setDistinct(null);
202         assertTrue(!instance.isDistinct());
203         assertTrue(result == instance);
204     }
205     
206     /** Test of isDistinct method, of class org.mmbase.storage.search.implementation.ModifiableQuery. */
207     public void testIsDistinct() {
208         // Same as:
209
testSetDistinct();
210     }
211     
212     public void testSetAggregating() {
213         assertTrue(!instance.isAggregating());
214         instance.setAggregating(Boolean.TRUE);
215         assertTrue(instance.isAggregating());
216         ModifiableQuery result = instance.setAggregating(null);
217         assertTrue(!instance.isAggregating());
218         assertTrue(result == instance);
219     }
220     
221     public void testIsAggregating() {
222         // Same as:
223
testSetAggregating();
224     }
225     
226     public static Test suite() {
227         TestSuite suite = new TestSuite(ModifiableQueryTest.class);
228         
229         return suite;
230     }
231     
232 }
233
Popular Tags