public void testInvalidateAll_empty() { for (LoadingCache<Object, Object> cache : caches()) { cache.getUnchecked("a"); cache.getUnchecked("b"); cache.getUnchecked("c"); cache.invalidateAll(); checkEmpty(cache); } }
public void testKeySet_clear() { for (LoadingCache<Object, Object> cache : caches()) { warmUp(cache, 0, 100); Set<Object> keys = cache.asMap().keySet(); keys.clear(); checkEmpty(keys); checkEmpty(cache); } }
public void testEntrySet_clear() { for (LoadingCache<Object, Object> cache : caches()) { warmUp(cache, 0, 100); Set<Entry<Object, Object>> entrySet = cache.asMap().entrySet(); entrySet.clear(); checkEmpty(entrySet); checkEmpty(cache); } }
public void testValues_clear() { for (LoadingCache<Object, Object> cache : caches()) { warmUp(cache, 0, 100); Collection<Object> values = cache.asMap().values(); values.clear(); checkEmpty(values); checkEmpty(cache); } }
public void testEmpty() { for (LoadingCache<Object, Object> cache : caches()) { checkEmpty(cache); } }
public void testInvalidate_empty() { for (LoadingCache<Object, Object> cache : caches()) { cache.getUnchecked("a"); cache.getUnchecked("b"); cache.invalidate("a"); cache.invalidate("b"); cache.invalidate(0); checkEmpty(cache); } }
static void checkEmpty(Cache<?, ?> cache) { assertEquals(0, cache.size()); assertFalse(cache.asMap().containsKey(null)); assertFalse(cache.asMap().containsKey(6)); assertFalse(cache.asMap().containsValue(null)); assertFalse(cache.asMap().containsValue(6)); checkEmpty(cache.asMap()); }
public void testKeySet_nullToArray() { for (LoadingCache<Object, Object> cache : caches()) { Set<Object> keys = cache.asMap().keySet(); try { keys.toArray((Object[]) null); fail(); } catch (NullPointerException expected) { } checkEmpty(cache); } }
public void testValues_nullToArray() { for (LoadingCache<Object, Object> cache : caches()) { Collection<Object> values = cache.asMap().values(); try { values.toArray((Object[]) null); fail(); } catch (NullPointerException expected) { } checkEmpty(cache); } }
public void testEntrySet_nullToArray() { for (LoadingCache<Object, Object> cache : caches()) { Set<Entry<Object, Object>> entries = cache.asMap().entrySet(); try { entries.toArray((Entry<Object, Object>[]) null); fail(); } catch (NullPointerException expected) { } checkEmpty(cache); } }
public void testValues_empty_remove() { for (LoadingCache<Object, Object> cache : caches()) { Collection<Object> values = cache.asMap().values(); assertFalse(values.remove(null)); assertFalse(values.remove(6)); assertFalse(values.remove(-6)); assertFalse(values.removeAll(asList(null, 0, 15, 1500))); assertFalse(values.retainAll(asList(null, 0, 15, 1500))); checkEmpty(values); checkEmpty(cache); } }
public void testGetUnchecked_null() { for (LoadingCache<Object, Object> cache : caches()) { try { cache.getUnchecked(null); fail("Expected NullPointerException"); } catch (NullPointerException expected) { } checkEmpty(cache); } }
public void testKeySet_empty_remove() { for (LoadingCache<Object, Object> cache : caches()) { Set<Object> keys = cache.asMap().keySet(); assertFalse(keys.remove(null)); assertFalse(keys.remove(6)); assertFalse(keys.remove(-6)); assertFalse(keys.removeAll(asList(null, 0, 15, 1500))); assertFalse(keys.retainAll(asList(null, 0, 15, 1500))); checkEmpty(keys); checkEmpty(cache); } }
public void testGet_null() throws ExecutionException { for (LoadingCache<Object, Object> cache : caches()) { try { cache.get(null); fail("Expected NullPointerException"); } catch (NullPointerException expected) { } checkEmpty(cache); } }
public void testRemove_byKey() { for (LoadingCache<Object, Object> cache : caches()) { // don't let the entries get GCed List<Entry<Object, Object>> warmed = warmUp(cache); for (int i = WARMUP_MIN; i < WARMUP_MAX; i++) { Entry<Object, Object> entry = warmed.get(i - WARMUP_MIN); Object key = entry.getKey(); assertEquals(entry.getValue(), cache.asMap().remove(key)); assertNull(cache.asMap().remove(key)); assertFalse(cache.asMap().containsKey(key)); } checkEmpty(cache); } }
public void testRemove_byKeyAndValue() { for (LoadingCache<Object, Object> cache : caches()) { // don't let the entries get GCed List<Entry<Object, Object>> warmed = warmUp(cache); for (int i = WARMUP_MIN; i < WARMUP_MAX; i++) { Object key = warmed.get(i - WARMUP_MIN).getKey(); Object value = warmed.get(i - WARMUP_MIN).getValue(); assertFalse(cache.asMap().remove(key, -1)); assertTrue(cache.asMap().remove(key, value)); assertFalse(cache.asMap().remove(key, -1)); assertFalse(cache.asMap().containsKey(key)); } checkEmpty(cache); } }
public void testGet_computeNull() { LoadingCache<Object, Object> cache = CacheBuilder.newBuilder() .maximumSize(0) .removalListener(listener) .build(constantLoader(null)); try { cache.getUnchecked(new Object()); fail(); } catch (InvalidCacheLoadException e) { /* expected */ } assertTrue(listener.isEmpty()); checkEmpty(cache); }
public void testEntrySet_empty_remove() { for (LoadingCache<Object, Object> cache : caches()) { Set<Entry<Object, Object>> entrySet = cache.asMap().entrySet(); assertFalse(entrySet.remove(null)); assertFalse(entrySet.remove(entryOf(6, 6))); assertFalse(entrySet.remove(entryOf(-6, -6))); assertFalse(entrySet.removeAll(asList(null, entryOf(0, 0), entryOf(15, 15)))); assertFalse(entrySet.retainAll(asList(null, entryOf(0, 0), entryOf(15, 15)))); checkEmpty(entrySet); checkEmpty(cache); } }
@GwtIncompatible // CacheTesting public void testNullCache() { CountingRemovalListener<Object, Object> listener = countingRemovalListener(); LoadingCache<Object, Object> nullCache = CacheBuilder.newBuilder().maximumSize(0).removalListener(listener).build(identityLoader()); assertEquals(0, nullCache.size()); Object key = new Object(); assertSame(key, nullCache.getUnchecked(key)); assertEquals(1, listener.getCount()); assertEquals(0, nullCache.size()); CacheTesting.checkEmpty(nullCache.asMap()); }
public void testGet() { Object computed = new Object(); LoadingCache<Object, Object> cache = CacheBuilder.newBuilder() .maximumSize(0) .removalListener(listener) .build(constantLoader(computed)); Object key = new Object(); assertSame(computed, cache.getUnchecked(key)); RemovalNotification<Object, Object> notification = listener.remove(); assertSame(key, notification.getKey()); assertSame(computed, notification.getValue()); assertSame(RemovalCause.SIZE, notification.getCause()); assertTrue(listener.isEmpty()); checkEmpty(cache); }