KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > shiftone > cache > policy > lfu > LfuCacheTestCase


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

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

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

37     public void testLfu10()
38     {
39
40         LfuCache cache = new LfuCache("lfu", 5000, 10);
41
42         cache.addObject("A", "A"); //1
43
assertEquals("A", cache.dumpLfuKeys());
44         assertEquals("A", cache.dumpFifoKeys());
45         cache.addObject("B", "B"); //2
46
assertEquals("BA", cache.dumpLfuKeys());
47         assertEquals("BA", cache.dumpFifoKeys());
48         cache.addObject("C", "C"); //3
49
assertEquals("CBA", cache.dumpLfuKeys());
50         assertEquals("CBA", cache.dumpFifoKeys());
51         cache.addObject("D", "D"); //4
52
assertEquals("DCBA", cache.dumpLfuKeys());
53         assertEquals("DCBA", cache.dumpFifoKeys());
54         cache.addObject("E", "E"); //5
55
assertEquals("EDCBA", cache.dumpLfuKeys());
56         assertEquals("EDCBA", cache.dumpFifoKeys());
57         cache.addObject("F", "F"); //6
58
assertEquals("FEDCBA", cache.dumpLfuKeys());
59         assertEquals("FEDCBA", cache.dumpFifoKeys());
60         cache.addObject("G", "G"); //7
61
assertEquals("GFEDCBA", cache.dumpLfuKeys());
62         assertEquals("GFEDCBA", cache.dumpFifoKeys());
63         cache.addObject("H", "H"); //8
64
assertEquals("HGFEDCBA", cache.dumpLfuKeys());
65         assertEquals("HGFEDCBA", cache.dumpFifoKeys());
66         cache.addObject("I", "I"); //9
67
assertEquals("IHGFEDCBA", cache.dumpLfuKeys());
68         assertEquals("IHGFEDCBA", cache.dumpFifoKeys());
69         cache.addObject("J", "J"); //10
70
assertEquals("JIHGFEDCBA", cache.dumpLfuKeys());
71         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
72
73         // observe the effect of getObject
74
assertNotNull(cache.getObject("E"));
75         assertEquals("EJIHGFDCBA", cache.dumpLfuKeys());
76         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
77         assertNotNull(cache.getObject("H"));
78         assertEquals("HEJIGFDCBA", cache.dumpLfuKeys());
79         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
80         assertNotNull(cache.getObject("H"));
81         assertEquals("HEJIGFDCBA", cache.dumpLfuKeys());
82         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
83         assertNotNull(cache.getObject("B"));
84         assertEquals("HBEJIGFDCA", cache.dumpLfuKeys());
85         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
86         assertNotNull(cache.getObject("G"));
87         assertEquals("HGBEJIFDCA", cache.dumpLfuKeys());
88         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
89         assertNotNull(cache.getObject("G"));
90         assertEquals("GHBEJIFDCA", cache.dumpLfuKeys());
91         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
92         assertNotNull(cache.getObject("G"));
93         assertEquals("GHBEJIFDCA", cache.dumpLfuKeys());
94         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
95         assertNotNull(cache.getObject("E"));
96         assertEquals("GEHBJIFDCA", cache.dumpLfuKeys());
97         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
98         assertNotNull(cache.getObject("B"));
99         assertEquals("GBEHJIFDCA", cache.dumpLfuKeys());
100         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
101         assertNotNull(cache.getObject("I"));
102         assertEquals("GBEHIJFDCA", cache.dumpLfuKeys());
103         assertEquals("JIHGFEDCBA", cache.dumpFifoKeys());
104
105         // observe the effect of adding more nodes
106
cache.addObject("K", "K");
107         assertEquals("GBEHIKJFDC", cache.dumpLfuKeys());
108         assertEquals("KJIHGFEDCB", cache.dumpFifoKeys());
109         cache.addObject("L", "L");
110         assertEquals("GBEHILKJFD", cache.dumpLfuKeys());
111         assertEquals("LKJIHGFEDB", cache.dumpFifoKeys());
112         cache.addObject("M", "M");
113         assertEquals("GBEHIMLKJF", cache.dumpLfuKeys());
114         assertEquals("MLKJIHGFEB", cache.dumpFifoKeys());
115         cache.addObject("N", "N");
116         assertEquals("GBEHINMLKJ", cache.dumpLfuKeys());
117         assertEquals("NMLKJIHGEB", cache.dumpFifoKeys());
118         cache.addObject("O", "O");
119         assertEquals("GBEHIONMLK", cache.dumpLfuKeys());
120         assertEquals("ONMLKIHGEB", cache.dumpFifoKeys());
121         assertNotNull(cache.getObject("O"));
122         assertEquals("GBEHOINMLK", cache.dumpLfuKeys());
123         assertEquals("ONMLKIHGEB", cache.dumpFifoKeys());
124         cache.addObject("P", "P");
125         assertEquals("GBEHOIPNML", cache.dumpLfuKeys());
126         assertEquals("PONMLIHGEB", cache.dumpFifoKeys());
127         assertNotNull(cache.getObject("P"));
128         assertEquals("GBEHPOINML", cache.dumpLfuKeys());
129         assertEquals("PONMLIHGEB", cache.dumpFifoKeys());
130         assertNotNull(cache.getObject("P"));
131         assertEquals("GPBEHOINML", cache.dumpLfuKeys());
132         assertEquals("PONMLIHGEB", cache.dumpFifoKeys());
133         assertNotNull(cache.getObject("P"));
134         assertEquals("PGBEHOINML", cache.dumpLfuKeys());
135         assertEquals("PONMLIHGEB", cache.dumpFifoKeys());
136         assertNotNull(cache.getObject("P"));
137         assertEquals("PGBEHOINML", cache.dumpLfuKeys());
138         assertEquals("PONMLIHGEB", cache.dumpFifoKeys());
139         cache.addObject("Q", "Q");
140         assertEquals("PGBEHOIQNM", cache.dumpLfuKeys());
141         assertEquals("QPONMIHGEB", cache.dumpFifoKeys());
142     }
143 }
144
Popular Tags