@Test public void test1() { final FIFOCache<Integer, Integer> cache = new FIFOCache<Integer, Integer>(1); Assert.assertEquals(0, cache.size()); cache.put(1, 1); Assert.assertEquals(1, cache.size()); cache.put(2, 2); Assert.assertEquals(1, cache.size()); Assert.assertEquals(2, cache.keySet().iterator().next().intValue()); }
@Test public void test2() { final FIFOCache<Integer, Integer> cache = new FIFOCache<Integer, Integer>(500); int expectedCacheSize = 0; Assert.assertEquals(expectedCacheSize, cache.size()); for (int i = 0; i < 500; ++i) { cache.put(i, i); Assert.assertEquals(++expectedCacheSize, cache.size()); } cache.put(500, 500); Assert.assertEquals(expectedCacheSize, cache.size()); final TreeMap<Integer, Integer> sortedMap = new TreeMap<Integer, Integer>(cache); Assert.assertEquals(expectedCacheSize, sortedMap.size()); Assert.assertEquals(1, sortedMap.firstKey().intValue()); Assert.assertEquals(500, sortedMap.lastKey().intValue()); }