public void testEquals_null() { for (LoadingCache<Object, Object> cache : caches()) { assertFalse(cache.equals(null)); } }
/** Most of the tests in this class run against every one of these caches. */ private Iterable<LoadingCache<Object, Object>> caches() { // lots of different ways to configure a LoadingCache CacheBuilderFactory factory = cacheFactory(); return Iterables.transform( factory.buildAllPermutations(), new Function<CacheBuilder<Object, Object>, LoadingCache<Object, Object>>() { @Override public LoadingCache<Object, Object> apply(CacheBuilder<Object, Object> builder) { return builder.build(identityLoader()); } }); }
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); } }
public void testEntrySet_addNotSupported() { for (LoadingCache<Object, Object> cache : caches()) { try { cache.asMap().entrySet().add(entryOf(1, 1)); fail(); } catch (UnsupportedOperationException expected) { } try { cache.asMap().values().addAll(asList(entryOf(1, 1), entryOf(2, 2))); fail(); } catch (UnsupportedOperationException expected) { } } }
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 testEntrySet_addNotSupported() { for (LoadingCache<Object, Object> cache : caches()) { try { cache.asMap().entrySet().add(entryOf(1, 1)); fail(); } catch (UnsupportedOperationException e) { // expected } try { cache.asMap().entrySet().addAll(ImmutableList.of()); fail(); } catch (UnsupportedOperationException e) { // expected } try { cache.asMap().values().addAll(asList(entryOf(1, 1), entryOf(2, 2))); fail(); } catch (UnsupportedOperationException e) { // expected } } }
public void testEmpty() { for (LoadingCache<Object, Object> cache : caches()) { checkEmpty(cache); } }
public void testKeySet_addNotSupported() { for (LoadingCache<Object, Object> cache : caches()) { try { cache.asMap().keySet().add(1); fail(); } catch (UnsupportedOperationException expected) { } try { cache.asMap().keySet().addAll(asList(1, 2)); fail(); } catch (UnsupportedOperationException expected) { } } }
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 testEntrySet_remove() { for (LoadingCache<Object, Object> cache : caches()) { cache.getUnchecked(1); cache.getUnchecked(2); Set<Entry<Object, Object>> entrySet = cache.asMap().entrySet(); // We don't know whether these are still in the cache, so we can't assert on the return // values of these removes, but the cache should be empty after the removes, regardless. entrySet.remove(entryOf(1, 1)); entrySet.remove(entryOf(2, 2)); assertFalse(entrySet.remove(null)); assertFalse(entrySet.remove(entryOf(1, 1))); assertFalse(entrySet.remove(entryOf(6, 6))); assertFalse(entrySet.removeAll(asList(null, entryOf(1, 1), entryOf(15, 15)))); assertFalse(entrySet.retainAll(asList(null, entryOf(1, 1), entryOf(15, 15)))); checkEmpty(entrySet); checkEmpty(cache); } }
public void testEntrySet_addNotSupported() { for (LoadingCache<Object, Object> cache : caches()) { try { cache.asMap().entrySet().add(entryOf(1, 1)); fail(); } catch (UnsupportedOperationException expected) { } try { cache.asMap().values().addAll(asList(entryOf(1, 1), entryOf(2, 2))); fail(); } catch (UnsupportedOperationException expected) { } } }
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); } }
/** * Most of the tests in this class run against every one of these caches. */ private Iterable<LoadingCache<Object, Object>> caches() { // lots of different ways to configure a LoadingCache CacheBuilderFactory factory = cacheFactory(); return Iterables.transform(factory.buildAllPermutations(), new Function<Caffeine<Object, Object>, LoadingCache<Object, Object>>() { @Override public LoadingCache<Object, Object> apply( Caffeine<Object, Object> builder) { return CaffeinatedGuava.build(builder, identityLoader()); } }); }
public void testValues_addNotSupported() { for (LoadingCache<Object, Object> cache : caches()) { try { cache.asMap().values().add(1); fail(); } catch (UnsupportedOperationException expected) { } try { cache.asMap().values().addAll(asList(1, 2)); fail(); } catch (UnsupportedOperationException expected) { } } }
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); } }