KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > inversoft > verge > mvc > controller > test > ControllerMVCInfoTest


1 /*
2  * Copyright (c) 2003-2004, Inversoft
3  *
4  * This software is distribuable under the GNU Lesser General Public License.
5  * For more information visit gnu.org.
6  */

7 package com.inversoft.verge.mvc.controller.test;
8
9
10 import java.util.ArrayList JavaDoc;
11 import java.util.List JavaDoc;
12
13 import com.inversoft.junit.WebTestCase;
14 import com.inversoft.verge.mvc.MVCException;
15 import com.inversoft.verge.mvc.MVCRegistry;
16 import com.inversoft.verge.mvc.controller.ControllerMVCInfo;
17
18
19 /**
20  * <p>
21  * This class tests the ControllerMVCInfo class.
22  * </p>
23  *
24  * @author Brian Pontarelli
25  */

26 public class ControllerMVCInfoTest extends WebTestCase {
27
28     /**
29      * Constructs a new <code>ControllerMVCInfoTest</code>.
30      */

31     public ControllerMVCInfoTest(String JavaDoc name) {
32         super(name);
33         setLocal(true);
34     }
35
36
37     /**
38      * Tests encoded construction.
39      */

40     public void testEncoded() {
41         try {
42             ControllerMVCInfo mvci =
43                 new ControllerMVCInfo("/system/value1/value2/value3");
44             assertEquals("system", mvci.getControllerHandler());
45             assertEquals(3, mvci.getURLValues().size());
46             assertEquals("value1", mvci.getURLValues().get(0));
47             assertEquals("value2", mvci.getURLValues().get(1));
48             assertEquals("value3", mvci.getURLValues().get(2));
49         } catch (MVCException mvce) {
50             fail(mvce.toString());
51         }
52
53         try {
54             ControllerMVCInfo mvci = new ControllerMVCInfo("/system");
55             assertEquals("system", mvci.getControllerHandler());
56             assertEquals(0, mvci.getURLValues().size());
57             assertEquals("/system", mvci.encode());
58         } catch (MVCException mvce) {
59             fail(mvce.toString());
60         }
61
62         try {
63             ControllerMVCInfo mvci =
64                 new ControllerMVCInfo("/system/value1/value2/value3");
65             assertEquals("/system/value1/value2/value3", mvci.encode());
66         } catch (MVCException mvce) {
67             fail(mvce.toString());
68         }
69
70         List JavaDoc list = new ArrayList JavaDoc();
71         list.add("value1");
72         list.add("value2");
73         ControllerMVCInfo mvci = new ControllerMVCInfo("system", list);
74         assertEquals("system", mvci.getControllerHandler());
75         assertEquals(2, mvci.getURLValues().size());
76         assertEquals("value1", mvci.getURLValues().get(0));
77         assertEquals("value2", mvci.getURLValues().get(1));
78         assertEquals("/system/value1/value2", mvci.encode());
79     }
80
81     /**
82      * Tests encoded failure
83      */

84     public void testEncodedFailure() {
85         try {
86             new ControllerMVCInfo("/");
87             fail("Should have failed");
88         } catch (MVCException mvce) {
89             // Expected
90
}
91     }
92
93     /**
94      * Tests handler lookup.
95      */

96     public void testHandlerLookup() {
97         try {
98             MVCRegistry.register("test", new TestControllerHandler());
99             ControllerMVCInfo mvci =
100                 new ControllerMVCInfo("/test/value1");
101             assertEquals(TestControllerHandler.class, mvci.getHandler().getClass());
102         } catch (MVCException mvce) {
103             fail(mvce.toString());
104         }
105
106         try {
107             MVCRegistry.register("test", new TestControllerHandler());
108             ControllerMVCInfo mvci =
109                 new ControllerMVCInfo("test", new ArrayList JavaDoc());
110             assertEquals(TestControllerHandler.class, mvci.getHandler().getClass());
111         } catch (MVCException mvce) {
112             fail(mvce.toString());
113         }
114     }
115
116     /**
117      * Tests handler lookup failure
118      */

119     public void testHandlerLookupFailure() {
120         try {
121             MVCRegistry.register("test", new TestControllerHandler());
122             ControllerMVCInfo mvci =
123                 new ControllerMVCInfo("/badSystem/value1");
124             mvci.getHandler();
125             fail("Should have failed");
126         } catch (MVCException mvce) {
127             // Expected
128
}
129
130         try {
131             MVCRegistry.register("test", new TestControllerHandler());
132             ControllerMVCInfo mvci =
133                 new ControllerMVCInfo("badSystem", new ArrayList JavaDoc());
134             mvci.getHandler();
135             fail("Should have failed");
136         } catch (MVCException mvce) {
137             // Expected
138
}
139     }
140 }
Popular Tags