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) {
75
75
76
76
@ Override
77
77
public Object removeObject (Object key ) {
78
+ keyMap .remove (key );
78
79
return delegate .removeObject (key );
79
80
}
80
81
Original file line number Diff line number Diff line change 23
23
import org .apache .ibatis .cache .impl .PerpetualCache ;
24
24
import org .junit .jupiter .api .Test ;
25
25
26
+ import java .lang .reflect .Field ;
27
+ import java .util .Map ;
28
+
26
29
class LruCacheTest {
27
30
28
31
@ Test
@@ -60,4 +63,18 @@ void shouldFlushAllItemsOnDemand() {
60
63
assertNull (cache .getObject (4 ));
61
64
}
62
65
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
+
63
80
}
You can’t perform that action at this time.
0 commit comments