File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed
main/java/org/apache/ibatis/cache/decorators
test/java/org/apache/ibatis/cache Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -75,6 +75,7 @@ public Object getObject(Object key) {
7575
7676 @ Override
7777 public Object removeObject (Object key ) {
78+ keyMap .remove (key );
7879 return delegate .removeObject (key );
7980 }
8081
Original file line number Diff line number Diff line change 2323import org .apache .ibatis .cache .impl .PerpetualCache ;
2424import org .junit .jupiter .api .Test ;
2525
26+ import java .lang .reflect .Field ;
27+ import java .util .Map ;
28+
2629class LruCacheTest {
2730
2831 @ Test
@@ -60,4 +63,18 @@ void shouldFlushAllItemsOnDemand() {
6063 assertNull (cache .getObject (4 ));
6164 }
6265
66+ @ Test
67+ void shouldCacheSizeEqualsKeyMapSize () throws Exception {
68+ LruCache cache = new LruCache (new PerpetualCache ("default" ));
69+ cache .setSize (5 );
70+ for (int i = 0 ; i < 5 ; i ++) {
71+ cache .putObject (i , i );
72+ }
73+ cache .removeObject (1 );
74+ Field keyMap = cache .getClass ().getDeclaredField ("keyMap" );
75+ keyMap .setAccessible (true );
76+ Map <Object , Object > map = (Map <Object , Object >) keyMap .get (cache );
77+ assertEquals (map .size (), cache .getSize ());
78+ }
79+
6380}
You can’t perform that action at this time.
0 commit comments