@Test
public void lruCacheTest() {
LRUCache<String, String> lruCache = createLRUCache(2);
lruCache.put(KEY1, VALUE1);
Assert.assertEquals(VALUE1, lruCache.get(KEY1));
Assert.assertFalse(lruCache.containsKey(KEY2));
Assert.assertFalse(lruCache.containsKey(KEY3));
lruCache.put(KEY2, VALUE2);
Assert.assertEquals(VALUE1, lruCache.get(KEY1));
Assert.assertEquals(VALUE2, lruCache.get(KEY2));
Assert.assertFalse(lruCache.containsKey(KEY3));
lruCache.put(KEY3, VALUE3);
Assert.assertFalse(lruCache.containsKey(KEY1));
Assert.assertEquals(VALUE2, lruCache.get(KEY2));
Assert.assertEquals(VALUE3, lruCache.get(KEY3));
lruCache.put(KEY1, VALUE1);
Assert.assertEquals(VALUE1, lruCache.get(KEY1));
Assert.assertFalse(lruCache.containsKey(KEY2));
Assert.assertEquals(VALUE3, lruCache.get(KEY3));
}