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: TestBeansPropertyManager.java,v 1.6 2002/09/12 19:09:35 ludovicc Exp $
37   */
38  package test.model.beans;
39  
40  import junit.framework.TestCase;
41  import org.scopemvc.core.PropertyManager;
42  import org.scopemvc.core.Selector;
43  import org.scopemvc.model.beans.BeansPropertyManager;
44  
45  /***
46   * <P>
47   *
48   * </P>
49   *
50   * @author <A HREF="mailto:smeyfroi@users.sourceforge.net">Steve Meyfroidt</A>
51   * @created 05 September 2002
52   * @version $Revision: 1.6 $ $Date: 2002/09/12 19:09:35 $
53   */
54  public final class TestBeansPropertyManager extends TestCase {
55  
56      private ModelObject m;
57      private PropertyManager manager;
58  
59  
60      /***
61       * Constructor for the TestBeansPropertyManager object
62       *
63       * @param inName Name of the test
64       */
65      public TestBeansPropertyManager(String inName) {
66          super(inName);
67      }
68  
69      // ------------- Simple gets
70  
71      /***
72       * A unit test for JUnit
73       *
74       * @throws Exception Any abnormal exception
75       */
76      public void testGet0() throws Exception {
77          assertSame(m.getStringProperty(), manager.get(m, Selector.fromString("stringProperty")));
78      }
79  
80  
81      /***
82       * A unit test for JUnit
83       *
84       * @throws Exception Any abnormal exception
85       */
86      public void testGet1() throws Exception {
87          Object o = manager.get(m, Selector.fromString("intProperty"));
88          assertEquals(m.getIntProperty(), ((Integer) o).intValue());
89      }
90  
91  
92      /***
93       * A unit test for JUnit
94       *
95       * @throws Exception Any abnormal exception
96       */
97      public void testGet2() throws Exception {
98          Object o = manager.get(m, Selector.fromString("stringIndexedProperty"));
99          assertSame(m.getStringIndexedProperty(), o);
100     }
101 
102 
103     /***
104      * A unit test for JUnit
105      *
106      * @throws Exception Any abnormal exception
107      */
108     public void testGet3() throws Exception {
109         Object o = manager.get(m, Selector.fromString("stringNonIndexedProperty"));
110         assertSame(m.getStringNonIndexedProperty(), o);
111     }
112 
113 
114     /***
115      * A unit test for JUnit
116      *
117      * @throws Exception Any abnormal exception
118      */
119     public void testGet4() throws Exception {
120         Object o = manager.get(m, Selector.fromString("stringNonIndexedProperty2"));
121         assertSame(m.getStringNonIndexedProperty2(), o);
122     }
123 
124 
125     // -------------------- Unknown simple property
126 
127     /***
128      * A unit test for JUnit
129      *
130      * @throws Exception Any abnormal exception
131      */
132     public void testGetUnknown() throws Exception {
133         try {
134             Object o = manager.get(m, Selector.fromString("unknown"));
135             fail();
136         } catch (Exception e) {
137             // expected
138         }
139     }
140 
141 
142     // -------------------- Indexed property
143 
144     /***
145      * A unit test for JUnit
146      *
147      * @throws Exception Any abnormal exception
148      */
149     public void testGetIndexed0() throws Exception {
150         String s1 = m.getStringIndexedProperty(0);
151         Object s2 = manager.get(m, Selector.fromString("stringIndexedProperty.0"));
152         assertSame(s1, s2);
153     }
154 
155 
156     /***
157      * A unit test for JUnit
158      *
159      * @throws Exception Any abnormal exception
160      */
161     public void testGetIndexed1() throws Exception {
162         String s1 = m.getStringIndexedProperty(1);
163         Object s2 = manager.get(m, Selector.fromString("stringIndexedProperty.1"));
164         assertSame(s1, s2);
165     }
166 
167 
168     // -------------------- Unknown indexed property
169 
170     /***
171      * A unit test for JUnit
172      *
173      * @throws Exception Any abnormal exception
174      */
175     public void testGetIndexedUnknown0() throws Exception {
176         try {
177             Object o = manager.get(m, Selector.fromString("stringIndexedProperty.99"));
178             fail();
179         } catch (Exception e) {
180         }
181     }
182 
183 
184     /***
185      * A unit test for JUnit
186      *
187      * @throws Exception Any abnormal exception
188      */
189     public void testGetIndexedUnknown1() throws Exception {
190         try {
191             Object o = manager.get(m, Selector.fromString("unknown.0"));
192             fail();
193         } catch (Exception e) {
194             // expected
195         }
196     }
197 
198 
199     // -------------------- NonIndexed List property
200 
201     /***
202      * A unit test for JUnit
203      *
204      * @throws Exception Any abnormal exception
205      */
206     public void testGetNonIndexed0() throws Exception {
207         Object s1 = m.getStringNonIndexedProperty().get(0);
208         Object s2 = manager.get(m, Selector.fromString("stringNonIndexedProperty.0"));
209         assertSame(s1, s2);
210     }
211 
212 
213     /***
214      * A unit test for JUnit
215      *
216      * @throws Exception Any abnormal exception
217      */
218     public void testGetNonIndexed1() throws Exception {
219         Object s1 = m.getStringNonIndexedProperty().get(1);
220         Object s2 = manager.get(m, Selector.fromString("stringNonIndexedProperty.1"));
221         assertSame(s1, s2);
222     }
223 
224 
225     // -------------------- NonIndexed Array property
226 
227     /***
228      * A unit test for JUnit
229      *
230      * @throws Exception Any abnormal exception
231      */
232     public void testGetNonIndexed2() throws Exception {
233         Object s1 = m.getStringNonIndexedProperty2()[0];
234         Object s2 = manager.get(m, Selector.fromString("stringNonIndexedProperty2.0"));
235         assertSame(s1, s2);
236     }
237 
238 
239     /***
240      * A unit test for JUnit
241      *
242      * @throws Exception Any abnormal exception
243      */
244     public void testGetNonIndexed3() throws Exception {
245         Object s1 = m.getStringNonIndexedProperty2()[1];
246         Object s2 = manager.get(m, Selector.fromString("stringNonIndexedProperty2.1"));
247         assertSame(s1, s2);
248     }
249 
250 
251     // -------------------- Unknown indexed property
252 
253     /***
254      * A unit test for JUnit
255      *
256      * @throws Exception Any abnormal exception
257      */
258     public void testGetNonIndexedUnknown0() throws Exception {
259         try {
260             Object o = manager.get(m, Selector.fromString("stringNonIndexedProperty.99"));
261             fail();
262         } catch (Exception e) {
263         }
264     }
265 
266 
267     // -------------------- Hidden Indexed property
268 
269     /***
270      * A unit test for JUnit
271      *
272      * @throws Exception Any abnormal exception
273      */
274     public void testGetHiddenIndexed0() throws Exception {
275         Object s1 = m.getHiddenStringIndexedProperty(0);
276         Object s2 = manager.get(m, Selector.fromString("hiddenStringIndexedProperty.0"));
277         assertSame(s1, s2);
278     }
279 
280 
281     /***
282      * A unit test for JUnit
283      *
284      * @throws Exception Any abnormal exception
285      */
286     public void testGetHiddenIndexed1() throws Exception {
287         Object s1 = m.getHiddenStringIndexedProperty(1);
288         Object s2 = manager.get(m, Selector.fromString("hiddenStringIndexedProperty.1"));
289         assertSame(s1, s2);
290     }
291 
292 
293     // -------------------- Unknown hidden indexed property
294 
295     /***
296      * A unit test for JUnit
297      *
298      * @throws Exception Any abnormal exception
299      */
300     public void testGetHiddenIndexedUnknown0() throws Exception {
301         try {
302             Object o = manager.get(m, Selector.fromString("hiddenStringIndexedProperty.99"));
303             fail();
304         } catch (Exception e) {
305         }
306     }
307 
308 
309     // -------------------- Submodel access
310 
311     /***
312      * A unit test for JUnit
313      *
314      * @throws Exception Any abnormal exception
315      */
316     public void testGetSubmodel0() throws Exception {
317         ModelObject o = new ModelObject();
318         m.setSubModel(o);
319         assertSame(o, manager.get(m, Selector.fromString("subModel")));
320 
321         assertSame(o.getStringProperty(), manager.get(m, Selector.fromString("subModel.stringProperty")));
322         assertSame(o.getStringIndexedProperty(1), manager.get(m, Selector.fromString("subModel.stringIndexedProperty.1")));
323     }
324 
325 
326     /***
327      * The JUnit setup method
328      */
329     protected void setUp() {
330         m = new ModelObject();
331         manager = BeansPropertyManager.getInstance(m);
332     }
333 
334 }
335 
This page was automatically generated by Maven