KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.mmbase.storage.search.implementation;
2
3 import junit.framework.*;
4 import org.mmbase.module.core.*;
5 import org.mmbase.module.corebuilders.FieldDefs;
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 BasicFieldValueConstraintTest extends TestCase {
15
16     private final static String JavaDoc BUILDER_NAME = "images";
17     private final static String JavaDoc FIELD_NAME1 = "title";
18     private final static String JavaDoc FIELD_NAME2 = "number";
19     private final static String JavaDoc STRING_VALUE1 = "value1";
20     private final static String JavaDoc STRING_VALUE2 = "aValue2";
21     private final static Double JavaDoc DOUBLE_VALUE1 = new Double JavaDoc(12345);
22     private final static Double JavaDoc DOUBLE_VALUE2 = new Double JavaDoc(34589);
23
24     /** Test instance 1 (string field). */
25     private BasicFieldValueConstraint instance1 = null;
26
27     /** Test instance 2 (integer field). */
28     private BasicFieldValueConstraint instance2 = null;
29
30     /** MMBase instance. */
31     private MMBase mmbase = null;
32
33     /** Field instance 1 (string field). */
34     private BasicStepField field1 = null;
35
36     /** Field instance 2 (integer field). */
37     private StepField field2 = null;
38
39     /** Builder example. */
40     private MMObjectBuilder builder = null;
41
42     /** FieldDefs example. */
43     private FieldDefs fieldDefs = null;
44
45     public BasicFieldValueConstraintTest(java.lang.String JavaDoc testName) {
46         super(testName);
47     }
48
49     public static void main(java.lang.String JavaDoc[] args) {
50         junit.textui.TestRunner.run(suite());
51         System.exit(0);
52     }
53
54     /**
55      * Sets up before each test.
56      */

57     public void setUp() throws Exception JavaDoc {
58         MMBaseContext.init();
59         mmbase = MMBase.getMMBase();
60         builder = mmbase.getBuilder(BUILDER_NAME);
61         Step step = new BasicStep(builder);
62
63         // Create instance 1 (string field).
64
fieldDefs = builder.getField(FIELD_NAME1);
65         field1 = new BasicStepField(step, fieldDefs);
66         instance1 = new BasicFieldValueConstraint(field1, STRING_VALUE1);
67
68         // Create instance 2 (integer field).
69
fieldDefs = builder.getField(FIELD_NAME2);
70         field2 = new BasicStepField(step, fieldDefs);
71         instance2 = new BasicFieldValueConstraint(field2, DOUBLE_VALUE1);
72     }
73
74     /**
75      * Tears down after each test.
76      */

77     public void tearDown() throws Exception JavaDoc {}
78
79     /** Test of setValue method, of class org.mmbase.storage.search.implementation.BasicFieldValueConstraint. */
80     public void testSetValue() {
81         assertTrue(instance1.getValue().equals(STRING_VALUE1));
82         assertTrue(instance2.getValue().equals(DOUBLE_VALUE1));
83
84         try {
85             // Null value, should throw IllegalArgumentException.
86
instance1.setValue(null);
87             fail("Null value, should throw IllegalArgumentException.");
88         } catch (IllegalArgumentException JavaDoc e) {}
89         try {
90             // Null value, should throw IllegalArgumentException.
91
instance2.setValue(null);
92             fail("Null value, should throw IllegalArgumentException.");
93         } catch (IllegalArgumentException JavaDoc e) {}
94
95         try {
96             // Double value for string type, should throw IllegalArgumentException.
97
instance1.setValue(DOUBLE_VALUE1);
98             fail("Double value for string type, should throw IllegalArgumentException.");
99         } catch (IllegalArgumentException JavaDoc e) {}
100         try {
101             // String value for integer type, should throw IllegalArgumentException.
102
instance2.setValue(STRING_VALUE1);
103             fail("String value for integer type, should throw IllegalArgumentException.");
104         } catch (IllegalArgumentException JavaDoc e) {}
105
106         assertTrue(!STRING_VALUE1.equals(STRING_VALUE2)); // Different test values!
107
instance1.setValue(STRING_VALUE2);
108         assertTrue(instance1.getValue().equals(STRING_VALUE2));
109         assertTrue(!DOUBLE_VALUE1.equals(DOUBLE_VALUE2)); // Different test values!
110

111         // Insert as Integer value instead of Double.
112
instance2.setValue(new Integer JavaDoc(DOUBLE_VALUE2.intValue()));
113         assertTrue(
114             ((Number JavaDoc) instance2.getValue()).doubleValue()
115                 == DOUBLE_VALUE2.doubleValue());
116
117         // Insert as Double.
118
BasicFieldValueConstraint result = instance2.setValue(DOUBLE_VALUE2);
119         assertTrue(instance2.getValue().equals(DOUBLE_VALUE2));
120         assertTrue(result == instance2);
121     }
122
123     /** Test of getValue method, of class org.mmbase.storage.search.implementation.BasicFieldValueConstraint. */
124     public void testGetValue() {
125         // Same as:
126
testSetValue();
127     }
128
129     /** Test of getBasicSupportLevel method. */
130     public void testGetBasicSupportLevel() {
131         // Returns SUPPORT_OPTIMAL.
132
assertTrue(instance1.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_OPTIMAL);
133     }
134
135     /** Test of equals method, of class org.mmbase.storage.search.implementation.BasicFieldValueConstraint. */
136     public void testEquals() {
137         // TODO: implement test
138
}
139
140     /** Test of hashCode method, of class org.mmbase.storage.search.implementation.BasicFieldValueConstraint. */
141     public void testHashCode() {
142         // TODO: implement test
143
}
144
145     public static Test suite() {
146         TestSuite suite = new TestSuite(BasicFieldValueConstraintTest.class);
147
148         return suite;
149     }
150
151 }
152
Popular Tags