KickJava   Java API By Example, From Geeks To Geeks.

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


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.core.MMObjectBuilder;
7
8 /**
9  * JUnit tests.
10  *
11  * @author Rob van Maris
12  * @version $Revision: 1.2 $
13  */

14 public class BasicStepTest extends TestCase {
15     
16     private final static String JavaDoc TEST_ALIAS = "abcd";
17     
18     private final static String JavaDoc BUILDER_NAME = "images";
19     
20     /** Test instance. */
21     private BasicStep instance;
22     
23     /** MMBase instance. */
24     private MMBase mmbase = null;
25     
26     /** Builder example. */
27     private MMObjectBuilder builder = null;
28     
29     public BasicStepTest(java.lang.String JavaDoc testName) {
30         super(testName);
31     }
32     
33     public static void main(java.lang.String JavaDoc[] args) {
34         junit.textui.TestRunner.run(suite());
35         System.exit(0);
36     }
37     
38     /**
39      * Sets up before each test.
40      */

41     public void setUp() throws Exception JavaDoc {
42         MMBaseContext.init();
43         mmbase = MMBase.getMMBase();
44         builder = mmbase.getBuilder(BUILDER_NAME);
45         instance = new BasicStep(builder);
46     }
47     
48     /**
49      * Tears down after each test.
50      */

51     public void tearDown() throws Exception JavaDoc {}
52     
53     /** Test of getTableName method, of class org.mmbase.storage.search.implementation.BasicStep. */
54     public void testGetTableName() {
55         String JavaDoc tableName = instance.getTableName();
56         assertTrue(tableName != null);
57         assertTrue(tableName.equals(BUILDER_NAME));
58     }
59     
60     /** Test of setAlias method, of class org.mmbase.storage.search.implementation.BasicStep. */
61     public void testSetAlias() {
62         // Default is null.
63
assertTrue(instance.getAlias() == null);
64         
65         BasicStep result = instance.setAlias(TEST_ALIAS);
66         String JavaDoc alias = instance.getAlias();
67         assertTrue(alias != null);
68         assertTrue(alias.equals(TEST_ALIAS));
69         assertTrue(result == instance);
70         
71         // Null value, should throw IllegalArgumentException.
72
instance.setAlias(null);
73         assertTrue(instance.getAlias() == null);
74         
75         // Blank spaces, should throw IllegalArgumentException.
76
try {
77             instance.setAlias(" ");
78             fail("Null value, should throw IllegalArgumentException.");
79         } catch (IllegalArgumentException JavaDoc e) {}
80     }
81     
82     /** Test of getAlias method, of class org.mmbase.storage.search.implementation.BasicStep. */
83     public void testGetAlias() {
84         // Same as:
85
testSetAlias();
86     }
87     
88     /** Test of addNode method, of class org.mmbase.storage.search.implementation.BasicStep. */
89     public void testAddNode() {
90         // Negative node, should throw IllegalArgumentException
91
try {
92             instance.addNode(-1);
93             fail("Negative node, should throw IllegalArgumentException");
94         } catch (IllegalArgumentException JavaDoc e) {}
95         
96         SortedSet nodes = instance.getNodes();
97         assertTrue(nodes.size() == 0);
98         int nodeNumber0 = 23456;
99         instance.addNode(nodeNumber0);
100         nodes = instance.getNodes();
101         assertTrue(nodes.size() == 1);
102         Iterator iNodes = nodes.iterator();
103         assertTrue(iNodes.hasNext());
104         assertTrue(iNodes.next().equals(new Integer JavaDoc(nodeNumber0)));
105         assertTrue(!iNodes.hasNext());
106         int nodeNumber1 = 2345;
107         BasicStep result = instance.addNode(nodeNumber1);
108         nodes = instance.getNodes();
109         assertTrue(nodes.size() == 2);
110         iNodes = nodes.iterator();
111         assertTrue(iNodes.hasNext());
112         assertTrue(iNodes.next().equals(new Integer JavaDoc(nodeNumber1)));
113         assertTrue(iNodes.hasNext());
114         assertTrue(iNodes.next().equals(new Integer JavaDoc(nodeNumber0)));
115         assertTrue(!iNodes.hasNext());
116         assertTrue(result == instance);
117     }
118     
119     /** Test of getNodes method, of class org.mmbase.storage.search.implementation.BasicStep. */
120     public void testGetNodes() {
121         // See:
122
testAddNode();
123         
124         SortedSet nodes = instance.getNodes();
125         Object JavaDoc item = nodes.first();
126         
127         // List returned must be unmodifiable.
128
try {
129             nodes.add(item);
130             fail("Attempt to modify list, must throw UnsupportedOperationException");
131         } catch (UnsupportedOperationException JavaDoc e) {}
132         try {
133             nodes.clear();
134             fail("Attempt to modify list, must throw UnsupportedOperationException");
135         } catch (UnsupportedOperationException JavaDoc e) {}
136     }
137     
138     /** Test of equals method, of class org.mmbase.storage.search.implementation.BasicStep. */
139     public void testEquals() {
140         // TODO: implement test
141
}
142     
143     /** Test of hashCode method, of class org.mmbase.storage.search.implementation.BasicStep. */
144     public void testHashCode() {
145         // TODO: implement test
146
}
147     
148     /** Test of toString method, of class org.mmbase.storage.search.implementation.BasicStep. */
149     public void testToString() {
150         // With default alias.
151
assertTrue(instance.toString(),
152         instance.toString().equals("Step(tablename:" + instance.getTableName()
153         + ", alias:" + instance.getAlias() + ", nodes:"
154         + instance.getNodes() + ")"));
155         
156         // With test alias.
157
instance.setAlias(TEST_ALIAS);
158         assertTrue(instance.toString(),
159         instance.toString().equals("Step(tablename:" + instance.getTableName()
160         + ", alias:" + instance.getAlias() + ", nodes:"
161         + instance.getNodes() + ")"));
162          
163         // With nodes.
164
instance.addNode(123)
165             .addNode(3456);
166         assertTrue(instance.toString(),
167         instance.toString().equals("Step(tablename:" + instance.getTableName()
168         + ", alias:" + instance.getAlias() + ", nodes:"
169         + instance.getNodes() + ")"));
170      }
171     
172     /** Test of getBuilder method, of class org.mmbase.storage.search.implementation.BasicStep. */
173     public void testGetBuilder() {
174         assertTrue(instance.getBuilder() == builder);
175     }
176     
177     public static Test suite() {
178         TestSuite suite = new TestSuite(BasicStepTest.class);
179         
180         return suite;
181     }
182     
183 }
184
Popular Tags