1 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 ; 17 import java.util.Map ; 18 import java.util.HashMap ; 19 import java.util.List ; 20 21 23 24 28 29 public class LocalAopTest extends TestCase 30 { 31 Logger log = Logger.getLogger(LocalAopTest.class); 33 TreeCacheAopTester tester; 34 35 36 public LocalAopTest(String name) 37 { 38 super(name); 39 } 40 41 protected void setUp() throws Exception 42 { 43 super.setUp(); 44 log.info("setUp() ...."); 45 String configFile = "META-INF/local-service.xml"; 46 tester = new TreeCacheAopTester(configFile); 47 } 48 49 protected void tearDown() throws Exception 50 { 51 super.tearDown(); 52 tester.stop(); 53 tester = null; 54 } 55 56 58 public void testSetup() 59 { 60 log.info("testSetup() ...."); 61 try { 62 tester.testSetup(); 63 } catch (Exception ex) { 64 ex.printStackTrace(); 65 fail("testSetup(): fails. " + ex.toString()); 66 } 67 } 68 69 public void testSimple() throws Exception 70 { 71 log.info("testSimple() ...."); 72 tester.createPerson("/person/test1", "Joe Black", 32); 73 assertEquals((Object ) "Joe Black", (Object ) tester.getName("/person/test1")); 74 } 77 78 public void testMap() throws Exception 79 { 80 log.info("testMap() ...."); 81 tester.createPerson("/person/test1", "Ben Wang", 40); 82 assertEquals((Object ) "Ben Wang", (Object ) tester.getName("/person/test1")); 83 Person ben = (Person)tester.getPerson("/person/test1"); 84 Map hobbies = ben.getHobbies(); 86 if (hobbies == null) { 87 hobbies = new HashMap (); 88 ben.setHobbies(hobbies); 89 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 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 106 { 107 tester.createPerson("/person/test2", "Joe", 32); 108 tester.setName("/person/test2", "Joe Black"); 109 assertEquals((Object ) tester.getName("/person/test2"), (Object ) "Joe Black"); 110 tester.removePerson("/person/test2"); 111 } 112 113 public void testRemove() throws Exception 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 e) { 121 } 123 } 124 125 public void testDynamicRefSwapping() throws Exception 126 { 127 tester.createPerson("/person/test3", "Joe", 32); 128 Person person = (Person)tester.getPerson("/person/test3"); 129 try { 130 person.setAge(30); 131 List med = person.getMedication(); 132 assertNull("Medication should be null ", med); 133 person.setAge(60); 134 med = person.getMedication(); 135 assertEquals("Medication ", (Object )"Lipitor", (Object )med.get(0)); 136 } catch (Exception e) { 137 } 139 } 140 141 public void testDependent() throws Exception 142 { 143 tester.createPerson("/person/test4", "Joe Black", 32); 144 tester.setCity("/person/test4", "Mannheim"); 145 assertEquals((Object ) tester.getCity("/person/test4"), (Object ) "Mannheim"); 146 } 147 148 149 public void testSerialization() throws Throwable 150 { 151 152 Person p = (Person) tester.testSerialization(); 153 165 assertEquals((Object ) "Joe Black", (Object ) p.getName()); 166 assertEquals((Object ) "Mannheim", (Object ) p.getAddress().getCity()); 167 } 168 169 public void testDeserialization() throws Throwable 170 { 171 172 Person p = new Person(); 173 p.setName("test6"); 174 tester.testDeserialization("/person/test6", p); 175 String name = tester.getName("/person/test6"); 176 assertEquals((Object ) "test6", (Object ) name); 177 } 178 179 public void testMap2() throws Throwable 180 { 181 tester.createPerson("/person/test5", "Joe Black", 32); 182 tester.setHobby("/person/test5", "music", "guitar"); 183 Object 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 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 for (int i = 0; i < size; i++) { 206 log.debug("" + i + " : " + tester.getLanguage("/person/test6", i)); 207 } 208 assertEquals(new Integer (3), new Integer (size)); 209 String language = (String ) tester.getLanguage("/person/test6", 1); 210 assertEquals((Object ) "English", (Object ) language); 211 } 212 213 public void testSet() throws Throwable 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 skills = tester.getSkills("/person/test7"); 220 assertEquals(new Integer (1), new Integer (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 (3), new Integer (skills.size())); 229 } 230 231 public void testFieldSynchronization() throws Throwable 232 { 233 String key = "/person/test8"; 234 tester.createPerson(key, "p8", 8); 235 assertEquals(tester.getName(key), tester.getFieldValue(key, "name")); 236 assertEquals(new Integer (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 (tester.getAge(key)), tester.getFieldValue(key, "age")); 241 } 242 243 public void testInheritance() throws Exception 244 { 245 tester.createStudent("/person/joe", "Joe", 32, "Senior"); 246 tester.setName("/person/joe", "Joe Black"); 247 assertEquals((Object ) tester.getName("/person/joe"), (Object ) "Joe Black"); 248 tester.setYear("/person/joe", "Junior"); 249 assertEquals((Object ) tester.getYear("/person/joe"), (Object ) "Junior"); 250 tester.removePerson("/person/joe"); 251 } 252 253 254 public static Test suite() throws Exception 255 { 256 return new TestSuite(LocalAopTest.class); 257 } 258 259 260 public static void main(String [] args) throws Exception 261 { 262 junit.textui.TestRunner.run(suite()); 263 } 264 265 } 266 267 | Popular Tags |