@Test public void testDirectMappedCacheEviction() { TestCacheEvictionCallBack callBack = new TestCacheEvictionCallBack(); CascadingCache<Object, Object> cache = getDirectMappedCache( 10, callBack ); Collider key = new Collider( "key" ); String value = "value"; cache.put( key, value ); assertEquals( 1, cache.size() ); assertEquals( 0, callBack.evictionCounter ); Collider secondKey = new Collider( "anotherKey" ); cache.put( secondKey, value ); assertEquals( 1, cache.size() ); assertEquals( 1, callBack.evictionCounter ); assertTrue( cache.containsKey( secondKey ) ); assertTrue( cache.containsValue( value ) ); assertSame( value, cache.get( secondKey ) ); assertTrue( callBack.evictedEntries.get( 0 ).getKey().equals( key ) ); assertTrue( callBack.evictedEntries.get( 0 ).getValue().equals( value ) ); }