KickJava   Java API By Example, From Geeks To Geeks.

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


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

15 public class BasicFieldValueInConstraintTest extends TestCase {
16
17     private final static String JavaDoc BUILDER_NAME = "images";
18     private final static String JavaDoc STRING_FIELD_NAME = "title";
19     private final static String JavaDoc INTEGER_FIELD_NAME = "number";
20
21     private final static String JavaDoc STRING_TEST_VALUE1 = "kjjdf kjjkl";
22     private final static String JavaDoc STRING_TEST_VALUE2 = " KLkljklj KJKLJ ERwe ";
23     private final static Integer JavaDoc INTEGER_TEST_VALUE = new Integer JavaDoc(12345);
24
25     /** Test instance. */
26     private BasicFieldValueInConstraint instance = null;
27
28     /** MMBase instance. */
29     private MMBase mmbase = null;
30
31     /** Field instances. */
32     private BasicStepField stringField = null;
33     private StepField integerField = null;
34
35     /** Builder example. */
36     private MMObjectBuilder builder = null;
37
38     /** FieldDefs examples. */
39     private FieldDefs stringFieldDefs = null;
40     private FieldDefs integerFieldDefs = null;
41
42     public BasicFieldValueInConstraintTest(java.lang.String JavaDoc testName) {
43         super(testName);
44     }
45
46     public static void main(java.lang.String JavaDoc[] args) {
47         junit.textui.TestRunner.run(suite());
48         System.exit(0);
49     }
50
51     /**
52      * Sets up before each test.
53      */

54     public void setUp() throws Exception JavaDoc {
55         MMBaseContext.init();
56         mmbase = MMBase.getMMBase();
57         builder = mmbase.getBuilder(BUILDER_NAME);
58         stringFieldDefs = builder.getField(STRING_FIELD_NAME);
59         integerFieldDefs = builder.getField(INTEGER_FIELD_NAME);
60         Step step = new BasicStep(builder);
61         stringField = new BasicStepField(step, stringFieldDefs);
62         integerField = new BasicStepField(step, integerFieldDefs);
63         instance = new BasicFieldValueInConstraint(stringField);
64     }
65
66     /**
67      * Tears down after each test.
68      */

69     public void tearDown() throws Exception JavaDoc {}
70
71     /** Test of addValue method, of class org.mmbase.storage.search.implementation.BasicFieldValueInConstraint. */
72     public void testAddValue() {
73         // Null value, should throw IllegalArgumentException
74
try {
75             instance.addValue(null);
76             fail("Null value, should throw IllegalArgumentException");
77         } catch (IllegalArgumentException JavaDoc e) {}
78
79         // Trying to add integer value to string field, should throw IllegalArgumentException.
80
try {
81             instance.addValue(INTEGER_TEST_VALUE);
82             fail("Trying to add integer value to string field, should throw IllegalArgumentException.");
83         } catch (IllegalArgumentException JavaDoc e) {}
84
85         List values = new ArrayList(instance.getValues());
86         assertTrue(values.size() == 0);
87         instance.addValue(STRING_TEST_VALUE1);
88         values = new ArrayList(instance.getValues());
89         assertTrue(values.size() == 1);
90         assertTrue(values.indexOf(STRING_TEST_VALUE1) == 0);
91         instance.addValue(STRING_TEST_VALUE2);
92         values = new ArrayList(instance.getValues());
93         assertTrue(values.size() == 2);
94         // Lexicographically ordering:
95
assertTrue(values.indexOf(STRING_TEST_VALUE1) == 1);
96         assertTrue(values.indexOf(STRING_TEST_VALUE2) == 0);
97
98         // Trying to add string value to integer field, should throw IllegalArgumentException.
99
BasicFieldValueInConstraint instance2 = new BasicFieldValueInConstraint(integerField);
100         try {
101             instance2.addValue("skdlw");
102             fail("Trying to add string value to integer field, should throw IllegalArgumentException.");
103         } catch (IllegalArgumentException JavaDoc e) {}
104
105         // Add integer value to integer field.
106
values = new ArrayList(instance2.getValues());
107         assertTrue(values.size() == 0);
108         instance2.addValue(INTEGER_TEST_VALUE);
109         values = new ArrayList(instance2.getValues());
110         assertTrue(values.size() == 1);
111         assertTrue(values.indexOf(INTEGER_TEST_VALUE) == 0);
112     }
113
114     /** Test of getValues method, of class org.mmbase.storage.search.implementation.BasicFieldValueInConstraint. */
115     public void testGetValues() {
116         // See:
117
testAddValue();
118
119         Set values = instance.getValues();
120
121         // List returned must be unmodifiable.
122
try {
123             values.add("ekowkdk kkj");
124             fail("Attempt to modify list, must throw UnsupportedOperationException");
125         } catch (UnsupportedOperationException JavaDoc e) {}
126         try {
127             values.clear();
128             fail("Attempt to modify list, must throw UnsupportedOperationException");
129         } catch (UnsupportedOperationException JavaDoc e) {}
130    }
131
132     /** Test of getBasicSupportLevel method. */
133     public void testGetBasicSupportLevel() {
134         // Returns SUPPORT_OPTIMAL.
135
assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_OPTIMAL);
136     }
137
138     /** Test of equals method, of class org.mmbase.storage.search.implementation.BasicFieldValueInConstraint. */
139     public void testEquals() {
140         // TODO: implement test
141
}
142
143     /** Test of hashCode method, of class org.mmbase.storage.search.implementation.BasicFieldValueInConstraint. */
144     public void testHashCode() {
145         // TODO: implement test
146
}
147
148
149     public static Test suite() {
150         TestSuite suite = new TestSuite(BasicFieldValueInConstraintTest.class);
151
152         return suite;
153     }
154
155 }
156
Popular Tags