package com.github.hoffart.dmap.test; import static org.junit.Assert.assertEquals; import com.github.hoffart.dmap.util.map.CachingHashMap; import org.junit.Test; public class CachingHashMapTest { @Test public void testForUnchangedMapSizeForMultipleInserts() { int limit = 3; CachingHashMap<Integer, Integer> cachedIntegers = new CachingHashMap<>(limit); int count = 0; for(int i=0;i<10;i++) { cachedIntegers.put(i, i); if(count < limit) { assertEquals(++count, cachedIntegers.size()); } else { assertEquals(count, cachedIntegers.size()); } } } @Test public void testForOldestEntryRemoval() { int limit = 3; CachingHashMap<Integer, Integer> cachedIntegers = new CachingHashMap<>(limit); for(int i=0;i<10;i++) { cachedIntegers.put(i, i); } assertEquals(3, cachedIntegers.size()); assertEquals(false, cachedIntegers.containsKey(1)); assertEquals(false, cachedIntegers.containsKey(5)); assertEquals(false, cachedIntegers.containsKey(6)); assertEquals(true, cachedIntegers.containsKey(7)); assertEquals(true, cachedIntegers.containsKey(9)); assertEquals(true, cachedIntegers.containsKey(8)); } }