KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > shiftone > cache > policy > lru > LruCacheTestCase


1 package org.shiftone.cache.policy.lru;
2
3
4
5 import org.shiftone.cache.CacheFactory;
6 import org.shiftone.cache.util.TestCaseBase;
7
8
9 /**
10  * Class LruCacheTestCase
11  *
12  *
13  * @author <a HREF="mailto:jeff@shiftone.org">Jeff Drost</a>
14  * @version $Revision: 1.2 $
15  */

16 public class LruCacheTestCase extends TestCaseBase
17 {
18
19     public LruCacheTestCase(String JavaDoc name)
20     {
21         super(name);
22     }
23
24
25     /**
26      * Method getCacheFactory
27      */

28     public CacheFactory getCacheFactory()
29     {
30         return new LruCacheFactory();
31     }
32
33
34     /**
35      * Method testLru5
36      */

37     public void testLru5()
38     {
39
40         LruCache cache = new LruCache("lru", 5000, 5);
41
42         cache.addObject("A", new Integer JavaDoc(123456789));
43         cache.addObject("B", "123456789");
44         cache.addObject("C", new Long JavaDoc(123456789));
45         cache.addObject("D", Boolean.TRUE);
46         cache.addObject("E", new Float JavaDoc(1.2345));
47         assertEquals("EDCBA", cache.dumpFifoKeys());
48         assertEquals("EDCBA", cache.dumpLruKeys());
49         assertNotNull(cache.getObject("C"));
50         assertEquals("EDCBA", cache.dumpFifoKeys());
51         assertEquals("CEDBA", cache.dumpLruKeys());
52         cache.addObject("F", new Object JavaDoc());
53         assertEquals("FEDCB", cache.dumpFifoKeys());
54         assertEquals("FCEDB", cache.dumpLruKeys());
55     }
56
57
58     /**
59      * Method testReValue
60      */

61     public void testLru10()
62     {
63
64         LruCache cache = new LruCache("lru", 5000, 10);
65
66         cache.addObject("A", "A"); //1
67
assertEquals("A", cache.dumpLruKeys());
68         assertEquals("A", cache.dumpFifoKeys());
69         cache.addObject("B", "B"); //2
70
assertEquals("BA", cache.dumpLruKeys());
71         assertEquals("BA", cache.dumpFifoKeys());
72         cache.addObject("C", "C"); //3
73
assertEquals("CBA", cache.dumpLruKeys());
74         assertEquals("CBA", cache.dumpFifoKeys());
75         cache.addObject("D", "D"); //4
76
assertEquals("DCBA", cache.dumpLruKeys());
77         assertEquals("DCBA", cache.dumpFifoKeys());
78         cache.addObject("E", "E"); //5
79
assertEquals("EDCBA", cache.dumpLruKeys());
80         assertEquals("EDCBA", cache.dumpFifoKeys());
81         cache.addObject("F", "F"); //6
82
assertEquals("FEDCBA", cache.dumpLruKeys());
83         assertEquals("FEDCBA", cache.dumpFifoKeys());
84         cache.addObject("G", "G"); //7
85
assertEquals("GFEDCBA", cache.dumpLruKeys());
86         assertEquals("GFEDCBA", cache.dumpFifoKeys());
87         cache.addObject("H", "H"); //8
88
assertEquals("HGFEDCBA", cache.dumpLruKeys());
89         assertEquals("HGFEDCBA", cache.dumpFifoKeys());
90         cache.addObject("I", "I"); //9
91
assertEquals("IHGFEDCBA", cache.dumpLruKeys());
92         assertEquals("IHGFEDCBA", cache.dumpFifoKeys());
93         cache.addObject("J", "J"); //10
94
assertEquals("JIHGFEDCBA", cache.dumpLruKeys());
95         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
96
97         // this should bump out A
98
cache.addObject("K", "K"); //11
99
assertEquals("KJIHGFEDCB", cache.dumpLruKeys());
100         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
101
102         // observe the effect of getObject
103
assertNotNull(cache.getObject("E"));
104         assertEquals("EKJIHGFDCB", cache.dumpLruKeys());
105         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
106         assertNotNull(cache.getObject("G"));
107         assertEquals("GEKJIHFDCB", cache.dumpLruKeys());
108         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
109         assertNotNull(cache.getObject("C"));
110         assertEquals("CGEKJIHFDB", cache.dumpLruKeys());
111         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
112         assertNotNull(cache.getObject("E"));
113         assertEquals("ECGKJIHFDB", cache.dumpLruKeys());
114         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
115         assertNotNull(cache.getObject("J"));
116         assertEquals("JECGKIHFDB", cache.dumpLruKeys());
117         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
118         assertNotNull(cache.getObject("J"));
119         assertEquals("JECGKIHFDB", cache.dumpLruKeys());
120         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
121         assertNotNull(cache.getObject("E"));
122         assertEquals("EJCGKIHFDB", cache.dumpLruKeys());
123         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
124         assertNotNull(cache.getObject("B"));
125         assertEquals("BEJCGKIHFD", cache.dumpLruKeys());
126         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
127         assertNotNull(cache.getObject("F"));
128         assertEquals("FBEJCGKIHD", cache.dumpLruKeys());
129         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
130     }
131 }
132
Popular Tags