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 16 public class LruCacheTestCase extends TestCaseBase 17 { 18 19 public LruCacheTestCase(String name) 20 { 21 super(name); 22 } 23 24 25 28 public CacheFactory getCacheFactory() 29 { 30 return new LruCacheFactory(); 31 } 32 33 34 37 public void testLru5() 38 { 39 40 LruCache cache = new LruCache("lru", 5000, 5); 41 42 cache.addObject("A", new Integer (123456789)); 43 cache.addObject("B", "123456789"); 44 cache.addObject("C", new Long (123456789)); 45 cache.addObject("D", Boolean.TRUE); 46 cache.addObject("E", new Float (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 ()); 53 assertEquals("FEDCB", cache.dumpFifoKeys()); 54 assertEquals("FCEDB", cache.dumpLruKeys()); 55 } 56 57 58 61 public void testLru10() 62 { 63 64 LruCache cache = new LruCache("lru", 5000, 10); 65 66 cache.addObject("A", "A"); assertEquals("A", cache.dumpLruKeys()); 68 assertEquals("A", cache.dumpFifoKeys()); 69 cache.addObject("B", "B"); assertEquals("BA", cache.dumpLruKeys()); 71 assertEquals("BA", cache.dumpFifoKeys()); 72 cache.addObject("C", "C"); assertEquals("CBA", cache.dumpLruKeys()); 74 assertEquals("CBA", cache.dumpFifoKeys()); 75 cache.addObject("D", "D"); assertEquals("DCBA", cache.dumpLruKeys()); 77 assertEquals("DCBA", cache.dumpFifoKeys()); 78 cache.addObject("E", "E"); assertEquals("EDCBA", cache.dumpLruKeys()); 80 assertEquals("EDCBA", cache.dumpFifoKeys()); 81 cache.addObject("F", "F"); assertEquals("FEDCBA", cache.dumpLruKeys()); 83 assertEquals("FEDCBA", cache.dumpFifoKeys()); 84 cache.addObject("G", "G"); assertEquals("GFEDCBA", cache.dumpLruKeys()); 86 assertEquals("GFEDCBA", cache.dumpFifoKeys()); 87 cache.addObject("H", "H"); assertEquals("HGFEDCBA", cache.dumpLruKeys()); 89 assertEquals("HGFEDCBA", cache.dumpFifoKeys()); 90 cache.addObject("I", "I"); assertEquals("IHGFEDCBA", cache.dumpLruKeys()); 92 assertEquals("IHGFEDCBA", cache.dumpFifoKeys()); 93 cache.addObject("J", "J"); assertEquals("JIHGFEDCBA", cache.dumpLruKeys()); 95 assertEquals("JIHGFEDCBA", cache.dumpFifoKeys()); 96 97 cache.addObject("K", "K"); assertEquals("KJIHGFEDCB", cache.dumpLruKeys()); 100 assertEquals("KJIHGFEDCB", cache.dumpFifoKeys()); 101 102 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 |