1   /*
2    * CacheAspectTest.java
3    * Created on 19 Июль 2006 г., 22:42
4    */
5   
6   package org.weda.enhance;
7   
8   import org.weda.test.WedaTestCase;
9   import org.weda.cache.CacheManager;
10  import org.weda.cache.CacheService;
11  
12  /**
13   *
14   * @author Mikhail Titov
15   */
16  public class CacheAspectTest extends WedaTestCase{
17      
18      public CacheAspectTest(String name) throws Exception {
19          super(name);
20      }
21      
22      public void test() throws Exception {
23          CacheService cache = 
24                  ((CacheManager)registry.getService(CacheManager.class))
25                      .getCacheService();
26          CachedObject obj1 = new CachedObject("name1");
27          Integer val = obj1.getCachedValue();
28          assertNull(val);
29          String id = obj1.getClass().getName()+"#"+"cachedValue"+"#name1";
30          assertNull(cache.get(id));
31          obj1.setCachedValue(1);
32          assertEquals(new Integer(1), obj1.getCachedValue());
33          assertNotNull(cache.get(id));
34          obj1.setCachedValue(2);
35          assertEquals(new Integer(2), obj1.getCachedValue());
36          //
37          CachedObject obj2 = new CachedObject("name2");
38          String id2 = obj2.getClass().getName()+"#"+"cachedValue"+"#name2";
39          assertNull(obj2.getCachedValue());
40          obj2.setCachedValue(10);
41          assertEquals(new Integer(10), obj2.getCachedValue());
42          assertEquals(new Integer(2), obj1.getCachedValue());
43          assertNotNull(cache.get(id2));
44          //
45          obj1.setCachedValue(null);
46          assertEquals(new Integer(10), obj2.getCachedValue());
47          assertNull(obj1.getCachedValue());
48          assertNull(cache.get(id));
49          //
50          obj2.setCachedValue(null);
51          assertNull(obj1.getCachedValue());
52          assertNull(obj2.getCachedValue());
53          assertNull(cache.get(id));
54          assertNull(cache.get(id2));
55      }
56      
57  }