KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > cache > test > standAloneAop > LocalAopTest


1 /*
2 * JBoss, the OpenSource J2EE webOS
3 *
4 * Distributable under LGPL license.
5 * See terms of license at gnu.org.
6 */

7 package org.jboss.test.cache.test.standAloneAop;
8
9 import junit.framework.Test;
10 import junit.framework.TestCase;
11 import junit.framework.TestSuite;
12 import org.jboss.logging.Logger;
13 import org.jboss.cache.aop.CachedMapInterceptor;
14 import org.jboss.aop.proxy.ClassProxy;
15
16 import java.util.Set JavaDoc;
17 import java.util.Map JavaDoc;
18 import java.util.HashMap JavaDoc;
19 import java.util.List JavaDoc;
20
21 //import org.jboss.test.JBossTestCase;
22

23
24 /**
25  * LocalTestCase.java that uses standalone aop package.
26  * @author Ben Wang
27  */

28
29 public class LocalAopTest extends TestCase
30 {
31 // Category log = getLog();
32
Logger log = Logger.getLogger(LocalAopTest.class);
33    TreeCacheAopTester tester;
34
35
36    public LocalAopTest(String JavaDoc name)
37    {
38       super(name);
39    }
40
41    protected void setUp() throws Exception JavaDoc
42    {
43       super.setUp();
44       log.info("setUp() ....");
45       String JavaDoc configFile = "META-INF/local-service.xml";
46       tester = new TreeCacheAopTester(configFile);
47    }
48
49    protected void tearDown() throws Exception JavaDoc
50    {
51       super.tearDown();
52       tester.stop();
53       tester = null;
54    }
55
56 // public void testDummy() {}
57

58    public void testSetup()
59    {
60       log.info("testSetup() ....");
61       try {
62          tester.testSetup();
63       } catch (Exception JavaDoc ex) {
64          ex.printStackTrace();
65          fail("testSetup(): fails. " + ex.toString());
66       }
67    }
68
69    public void testSimple() throws Exception JavaDoc
70    {
71       log.info("testSimple() ....");
72       tester.createPerson("/person/test1", "Joe Black", 32);
73       assertEquals((Object JavaDoc) "Joe Black", (Object JavaDoc) tester.getName("/person/test1"));
74 // assertTrue(tester.getAge("/person/test1") == 32);
75
// tester.removePerson("/person/test1");
76
}
77
78    public void testMap() throws Exception JavaDoc
79    {
80       log.info("testMap() ....");
81       tester.createPerson("/person/test1", "Ben Wang", 40);
82       assertEquals((Object JavaDoc) "Ben Wang", (Object JavaDoc) tester.getName("/person/test1"));
83       Person ben = (Person)tester.getPerson("/person/test1");
84 // Map skills = new HashMap();
85
Map JavaDoc hobbies = ben.getHobbies();
86       if (hobbies == null) {
87          hobbies = new HashMap JavaDoc();
88          ben.setHobbies(hobbies);
89          // NB: it is neccessary to get hobbies again to get advised version
90
hobbies = ben.getHobbies();
91       }
92       hobbies.put("1", "English");
93       hobbies.put("2", "French");
94       if( !(hobbies instanceof ClassProxy)) {
95          fail("Hobbies is not an instance of ClassProxy");
96       }
97 // ben.setHobbies(skills);
98
// skills = ben.getHobbies();
99

100       hobbies = ben.getHobbies();
101       assertEquals("Hobbies size", 2, hobbies.size());
102       log.debug("Hobbies is " + hobbies.toString());
103    }
104
105    public void testModification() throws Exception JavaDoc
106    {
107       tester.createPerson("/person/test2", "Joe", 32);
108       tester.setName("/person/test2", "Joe Black");
109       assertEquals((Object JavaDoc) tester.getName("/person/test2"), (Object JavaDoc) "Joe Black");
110       tester.removePerson("/person/test2");
111    }
112
113    public void testRemove() throws Exception JavaDoc
114    {
115       tester.createPerson("/person/test3", "Joe", 32);
116       tester.removePerson("/person/test3");
117       try {
118          tester.getName("/person/test3");
119          fail("Object wasn't removed");
120       } catch (Exception JavaDoc e) {
121          // should be thrown
122
}
123    }
124
125    public void testDynamicRefSwapping() throws Exception JavaDoc
126    {
127       tester.createPerson("/person/test3", "Joe", 32);
128       Person person = (Person)tester.getPerson("/person/test3");
129       try {
130          person.setAge(30);
131          List JavaDoc med = person.getMedication();
132          assertNull("Medication should be null ", med);
133          person.setAge(60);
134          med = person.getMedication();
135          assertEquals("Medication ", (Object JavaDoc)"Lipitor", (Object JavaDoc)med.get(0));
136       } catch (Exception JavaDoc e) {
137          // should be thrown
138
}
139    }
140
141    public void testDependent() throws Exception JavaDoc
142    {
143       tester.createPerson("/person/test4", "Joe Black", 32);
144       tester.setCity("/person/test4", "Mannheim");
145       assertEquals((Object JavaDoc) tester.getCity("/person/test4"), (Object JavaDoc) "Mannheim");
146    }
147
148
149    public void testSerialization() throws Throwable JavaDoc
150    {
151
152       Person p = (Person) tester.testSerialization();
153 /*
154       if (p instanceof Advised)
155       {
156          InstanceAdvisor advisor = ((Advised) p)._getInstanceAdvisor();
157          Interceptor[] interceptors = advisor.getInterceptors();
158          for (int i = 0; i < interceptors.length; i++)
159          {
160             assertTrue("CacheInterceptor shouldn't be serialized",
161                 !(interceptors[i] instanceof CacheInterceptor));
162          }
163       }
164 */

165       assertEquals((Object JavaDoc) "Joe Black", (Object JavaDoc) p.getName());
166       assertEquals((Object JavaDoc) "Mannheim", (Object JavaDoc) p.getAddress().getCity());
167    }
168
169    public void testDeserialization() throws Throwable JavaDoc
170    {
171
172       Person p = new Person();
173       p.setName("test6");
174       tester.testDeserialization("/person/test6", p);
175       String JavaDoc name = tester.getName("/person/test6");
176       assertEquals((Object JavaDoc) "test6", (Object JavaDoc) name);
177    }
178
179    public void testMap2() throws Throwable JavaDoc
180    {
181       tester.createPerson("/person/test5", "Joe Black", 32);
182       tester.setHobby("/person/test5", "music", "guitar");
183       Object JavaDoc val = tester.getHobby("/person/test5", "music");
184       assertEquals("guitar", val);
185       tester.setHobby("/person/test5", "a", "b");
186       tester.getHobby("/person/test5", "a");
187       tester.printPerson("/person/test5");
188    }
189
190    public void testList() throws Throwable JavaDoc
191    {
192       tester.createPerson("/person/test6", "p6", 50);
193       tester.addLanguage("/person/test6", "German");
194       tester.addLanguage("/person/test6", "English");
195       tester.addLanguage("/person/test6", "French");
196       int size = tester.getLanguagesSize("/person/test6");
197       assertTrue(size == 3);
198       tester.printCache();
199       tester.addLanguage("/person/test6", "asdf");
200       tester.printCache();
201       tester.removeLanguage("/person/test6", "asdf");
202       tester.printCache();
203       size = tester.getLanguagesSize("/person/test6");
204       // assertTrue(size==3);
205
for (int i = 0; i < size; i++) {
206          log.debug("" + i + " : " + tester.getLanguage("/person/test6", i));
207       }
208       assertEquals(new Integer JavaDoc(3), new Integer JavaDoc(size));
209       String JavaDoc language = (String JavaDoc) tester.getLanguage("/person/test6", 1);
210       assertEquals((Object JavaDoc) "English", (Object JavaDoc) language);
211    }
212
213    public void testSet() throws Throwable JavaDoc
214    {
215       tester.createPerson("/person/test7", "p7", 27);
216       tester.addSkill("/person/test7", "Java");
217       tester.addSkill("/person/test7", "Java");
218       tester.addSkill("/person/test7", "Java");
219       Set JavaDoc skills = tester.getSkills("/person/test7");
220       assertEquals(new Integer JavaDoc(1), new Integer JavaDoc(skills.size()));
221       tester.removeSkill("/person/test7", "Java");
222       skills = tester.getSkills("/person/test7");
223       assertTrue(skills.isEmpty());
224       tester.addSkill("/person/test7", "Java");
225       tester.addSkill("/person/test7", "J2EE");
226       tester.addSkill("/person/test7", "JBoss");
227       skills = tester.getSkills("/person/test7");
228       assertEquals(new Integer JavaDoc(3), new Integer JavaDoc(skills.size()));
229    }
230
231    public void testFieldSynchronization() throws Throwable JavaDoc
232    {
233       String JavaDoc key = "/person/test8";
234       tester.createPerson(key, "p8", 8);
235       assertEquals(tester.getName(key), tester.getFieldValue(key, "name"));
236       assertEquals(new Integer JavaDoc(tester.getAge(key)), tester.getFieldValue(key, "age"));
237       tester.setName(key, "p8x");
238       assertEquals(tester.getName(key), tester.getFieldValue(key, "name"));
239       tester.setAge(key, 18);
240       assertEquals(new Integer JavaDoc(tester.getAge(key)), tester.getFieldValue(key, "age"));
241    }
242
243    public void testInheritance() throws Exception JavaDoc
244    {
245       tester.createStudent("/person/joe", "Joe", 32, "Senior");
246       tester.setName("/person/joe", "Joe Black");
247       assertEquals((Object JavaDoc) tester.getName("/person/joe"), (Object JavaDoc) "Joe Black");
248       tester.setYear("/person/joe", "Junior");
249       assertEquals((Object JavaDoc) tester.getYear("/person/joe"), (Object JavaDoc) "Junior");
250       tester.removePerson("/person/joe");
251    }
252
253
254    public static Test suite() throws Exception JavaDoc
255    {
256       return new TestSuite(LocalAopTest.class);
257    }
258
259
260    public static void main(String JavaDoc[] args) throws Exception JavaDoc
261    {
262       junit.textui.TestRunner.run(suite());
263    }
264
265 }
266
267
Popular Tags