public @Test void testStats() {
SharedCache sharedCache = mock(SharedCache.class);
CacheStats stats = mock(CacheStats.class);
when(stats.evictionCount()).thenReturn(1L);
when(stats.missCount()).thenReturn(1L);
when(stats.hitCount()).thenReturn(1L);
when(stats.missRate()).thenReturn(0.5);
when(stats.hitRate()).thenReturn(0.5);
when(sharedCache.getStats()).thenReturn(stats);
when(sharedCache.sizeBytes()).thenReturn(1000L);
when(sharedCache.objectCount()).thenReturn(100L);
cacheManager._SHARED_CACHE = sharedCache;
assertEquals(1, cacheManager.getEvictionCount());
assertEquals(1, cacheManager.getMissCount());
assertEquals(0.5d, cacheManager.getMissRate(), 1e-9);
assertEquals(1, cacheManager.getHitCount());
assertEquals(0.5d, cacheManager.getHitRate(), 1e-9);
assertEquals(1000, cacheManager.getSizeBytes());
assertEquals(100, cacheManager.getSize());
assertEquals(1000 / (1024D * 1024D), cacheManager.getSizeMB(), 1e-9);
}
}