1 /*
2 * Scope: a generic MVC framework.
3 * Copyright (c) 2000-2002, The Scope team
4 * All rights reserved.
5 *
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 *
14 * Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * Neither the name "Scope" nor the names of its contributors
19 * may be used to endorse or promote products derived from this software
20 * without specific prior written permission.
21 *
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
27 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 *
35 *
36 * $Id: TestSelectors.java,v 1.5 2002/09/12 19:09:34 ludovicc Exp $
37 */
38 package test.core;
39
40
41 import junit.framework.TestCase;
42 import org.scopemvc.core.IntIndexSelector;
43 import org.scopemvc.core.Selector;
44 import org.scopemvc.core.StringIndexSelector;
45
46 /***
47 * <P>
48 *
49 * </P>
50 *
51 * @author <A HREF="mailto:smeyfroi@users.sourceforge.net">Steve Meyfroidt</A>
52 * @created 05 September 2002
53 * @version $Revision: 1.5 $ $Date: 2002/09/12 19:09:34 $
54 */
55 public final class TestSelectors extends TestCase {
56
57 /***
58 * Constructor for the TestSelectors object
59 *
60 * @param inName Name of the test
61 */
62 public TestSelectors(String inName) {
63 super(inName);
64 }
65
66
67 /***
68 * A unit test for JUnit
69 */
70 public void testSelectorFactorySimple() {
71
72 assertTrue(Selector.fromInt(1) instanceof IntIndexSelector);
73 assertNull(Selector.fromInt(1).getNext());
74 assertEquals("1", Selector.fromInt(1).getName());
75
76 assertTrue(Selector.fromString("xyz") instanceof StringIndexSelector);
77 assertNull(Selector.fromString("xyz").getNext());
78 assertEquals("xyz", Selector.fromString("xyz").getName());
79 }
80
81
82 /***
83 * A unit test for JUnit
84 *
85 * @throws Exception Any abnormal exception
86 */
87 public void testSelectorFactoryPropertyDescriptions() throws Exception {
88
89 assertEquals(Selector.asString(null), "");
90
91 Selector selector = Selector.fromString("hello");
92 assertEquals("hello", Selector.asString(selector));
93
94 Selector chain = selector.deepClone();
95 chain.chain(Selector.fromInt(2));
96
97 String desc = Selector.asString(chain);
98 assertEquals("hello.2", Selector.asString(chain));
99
100 assertEquals(Selector.fromString("hello"), selector);
101 assertEquals(Selector.fromString(desc), chain);
102 }
103
104
105 /***
106 * A unit test for JUnit
107 */
108 public void testStringIndexSelector() {
109
110 StringIndexSelector stringSelector = (StringIndexSelector) Selector.fromString("stringSelector");
111
112 assertTrue(!stringSelector.equals(null));
113 assertEquals("stringSelector", stringSelector.getIndex());
114 assertNull(stringSelector.getNext());
115 assertSame(stringSelector, stringSelector.getLast());
116
117 StringIndexSelector stringSelector2 = (StringIndexSelector) Selector.fromString("stringSelector");
118 assertEquals(stringSelector, stringSelector2);
119 assertTrue(!stringSelector.equals(Selector.fromString("notThis")));
120 assertEquals(stringSelector, stringSelector.deepClone());
121
122 stringSelector.chain(Selector.fromString("chainThis"));
123 assertEquals("stringSelector", stringSelector.getIndex());
124 assertEquals(stringSelector.getNext(), Selector.fromString("chainThis"));
125
126 Selector stringSelectorClone = stringSelector.deepClone();
127 assertEquals(stringSelector, stringSelectorClone);
128
129 assertTrue(!stringSelector.equals(stringSelector2));
130
131 assertTrue(stringSelector.startsWith(stringSelector2));
132 assertTrue(stringSelector.startsWith(stringSelector));
133 assertTrue(!stringSelector.startsWith(Selector.fromString("chainThis")));
134 }
135
136
137 /***
138 * A unit test for JUnit
139 */
140 public void testIntIndexSelector() {
141
142 IntIndexSelector intSelector = Selector.fromInt(1);
143
144 assertTrue(!intSelector.equals(null));
145 assertEquals(1, intSelector.getIndex());
146 assertNull(intSelector.getNext());
147 assertSame(intSelector, intSelector.getLast());
148
149 IntIndexSelector intSelector2 = Selector.fromInt(1);
150 assertEquals(intSelector, intSelector2);
151 assertTrue(!intSelector.equals(Selector.fromInt(3)));
152 assertEquals(intSelector, intSelector.deepClone());
153
154 intSelector.chain(Selector.fromInt(4));
155 assertEquals(1, intSelector.getIndex());
156 assertEquals(intSelector.getNext(), Selector.fromInt(4));
157
158 Selector intSelectorClone = intSelector.deepClone();
159 assertEquals(intSelector, intSelectorClone);
160
161 assertTrue(!intSelector.equals(intSelector2));
162
163 assertTrue(intSelector.startsWith(intSelector2));
164 assertTrue(intSelector.startsWith(intSelector));
165 assertTrue(!intSelector.startsWith(Selector.fromInt(4)));
166 }
167
168
169 /***
170 * A unit test for JUnit
171 *
172 * @throws Exception Any abnormal exception
173 */
174 public void testRemoveLast() throws Exception {
175 Selector selector = Selector.fromString("one.two.three");
176 selector.removeLast();
177
178 assertEquals(Selector.fromString("one.two"), selector);
179 selector.removeLast();
180 assertEquals(Selector.fromString("one"), selector);
181
182 try {
183 selector.removeLast();
184 } catch (UnsupportedOperationException e) {
185 // expected
186 }
187 }
188
189
190 /***
191 * The JUnit setup method
192 */
193 protected void setUp() { }
194 }
This page was automatically generated by Maven