package ca.sqlpower.util; import junit.framework.*; import ca.sqlpower.util.*; public class LeastRecentlyUsedCacheTest extends CacheTest { public void setUp() { cache = new LeastRecentlyUsedCache(maxMembers); super.setUp(); } public void testLRUPolicy() { String val = null; // request all items starting with 44 for (int i = 44; i >= 0; i--) { val = (String) cache.get(new Integer(i)); assertEquals(val, String.valueOf(i)); } // insert 6 new items for (int i = 45; i < 51; i++) { cache.put(new Integer(i), String.valueOf(i)); } // least recently used item should be gone assertNull(cache.get(new Integer(44))); assertEquals(cache.get(new Integer(43)), String.valueOf(43)); // insert one more item and re-check (42 will be LRU because we just used 43) cache.put(new Integer(52), String.valueOf(52)); assertNull(cache.get(new Integer(42))); } }