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 16 public class LfuCacheTestCase extends TestCaseBase 17 { 18 19 public LfuCacheTestCase(String name) 20 { 21 super(name); 22 } 23 24 25 28 public CacheFactory getCacheFactory() 29 { 30 return new LfuCacheFactory(); 31 } 32 33 34 37 public void testLfu10() 38 { 39 40 LfuCache cache = new LfuCache("lfu", 5000, 10); 41 42 cache.addObject("A", "A"); assertEquals("A", cache.dumpLfuKeys()); 44 assertEquals("A", cache.dumpFifoKeys()); 45 cache.addObject("B", "B"); assertEquals("BA", cache.dumpLfuKeys()); 47 assertEquals("BA", cache.dumpFifoKeys()); 48 cache.addObject("C", "C"); assertEquals("CBA", cache.dumpLfuKeys()); 50 assertEquals("CBA", cache.dumpFifoKeys()); 51 cache.addObject("D", "D"); assertEquals("DCBA", cache.dumpLfuKeys()); 53 assertEquals("DCBA", cache.dumpFifoKeys()); 54 cache.addObject("E", "E"); assertEquals("EDCBA", cache.dumpLfuKeys()); 56 assertEquals("EDCBA", cache.dumpFifoKeys()); 57 cache.addObject("F", "F"); assertEquals("FEDCBA", cache.dumpLfuKeys()); 59 assertEquals("FEDCBA", cache.dumpFifoKeys()); 60 cache.addObject("G", "G"); assertEquals("GFEDCBA", cache.dumpLfuKeys()); 62 assertEquals("GFEDCBA", cache.dumpFifoKeys()); 63 cache.addObject("H", "H"); assertEquals("HGFEDCBA", cache.dumpLfuKeys()); 65 assertEquals("HGFEDCBA", cache.dumpFifoKeys()); 66 cache.addObject("I", "I"); assertEquals("IHGFEDCBA", cache.dumpLfuKeys()); 68 assertEquals("IHGFEDCBA", cache.dumpFifoKeys()); 69 cache.addObject("J", "J"); assertEquals("JIHGFEDCBA", cache.dumpLfuKeys()); 71 assertEquals("JIHGFEDCBA", cache.dumpFifoKeys()); 72 73 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 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 |