@Override public long entryCount() { if (cache != null) { return cache.size(); } else { return 0L; } }
@Override public long size() { return delegate().size(); }
@Override public long size() { return delegate().size(); }
public void testAsMapValues_iteratorRemove() { Cache<Integer, Integer> cache = CacheBuilder.newBuilder() .expireAfterWrite(1000, TimeUnit.MILLISECONDS) .ticker(fakeTicker) .build(); cache.put(10, 20); Iterator<Integer> iterator = cache.asMap().values().iterator(); iterator.next(); iterator.remove(); assertEquals(0, cache.size()); } }
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 testComputeIfAbsentEviction() { // b/80241237 Cache<String, String> c = CacheBuilder.newBuilder().maximumSize(1).build(); assertThat(c.asMap().computeIfAbsent("hash-1", k -> "")).isEqualTo(""); assertThat(c.asMap().computeIfAbsent("hash-1", k -> "")).isEqualTo(""); assertThat(c.asMap().computeIfAbsent("hash-1", k -> "")).isEqualTo(""); assertThat(c.size()).isEqualTo(1); assertThat(c.asMap().computeIfAbsent("hash-2", k -> "")).isEqualTo(""); }
public void testComputeIfAbsent() { // simultaneous insertion for same key, expect 1 winner doParallelCacheOp( count, n -> { cache.asMap().computeIfAbsent(key, k -> "value" + n); }); assertEquals(1, cache.size()); }
public void testComputeEviction() { // b/80241237 Cache<String, String> c = CacheBuilder.newBuilder().maximumSize(1).build(); assertThat(c.asMap().compute("hash-1", (k, v) -> "a")).isEqualTo("a"); assertThat(c.asMap().compute("hash-1", (k, v) -> "b")).isEqualTo("b"); assertThat(c.asMap().compute("hash-1", (k, v) -> "c")).isEqualTo("c"); assertThat(c.size()).isEqualTo(1); assertThat(c.asMap().computeIfAbsent("hash-2", k -> "")).isEqualTo(""); }
public void testComputeIfPresent() { cache.put(key, "1"); // simultaneous update for same key, expect count successful updates doParallelCacheOp( count, n -> { cache.asMap().computeIfPresent(key, (k, v) -> v + delimiter + n); }); assertEquals(1, cache.size()); assertThat(cache.getIfPresent(key).split(delimiter)).hasLength(count + 1); }
public void testUpdates() { cache.put(key, "1"); // simultaneous update for same key, some null, some non-null doParallelCacheOp( count, n -> { cache.asMap().compute(key, (k, v) -> n % 2 == 0 ? v + delimiter + n : null); }); assertTrue(1 >= cache.size()); }
public void testCompute() { cache.put(key, "1"); // simultaneous deletion doParallelCacheOp( count, n -> { cache.asMap().compute(key, (k, v) -> null); }); assertEquals(0, cache.size()); }
public void testComputeIfAbsent() { // simultaneous insertion for same key, expect 1 winner doParallelCacheOp(count, n -> { cache.asMap().computeIfAbsent(key, k -> "value" + n); }); assertEquals(1, cache.size()); }
public void testComputeIfPresent() { cache.put(key, "1"); // simultaneous update for same key, expect count successful updates doParallelCacheOp(count, n -> { cache.asMap().computeIfPresent(key, (k, v) -> v + delimiter + n); }); assertEquals(1, cache.size()); assertThat(cache.getIfPresent(key).split(delimiter)).hasLength(count + 1); }
public void testComputeIfAbsentEviction() { Cache<String, String> c = CaffeinatedGuava.build( Caffeine.newBuilder().executor(MoreExecutors.directExecutor()).maximumSize(1)); assertThat(c.asMap().computeIfAbsent("hash-1", k -> "")).isEqualTo(""); assertThat(c.asMap().computeIfAbsent("hash-1", k -> "")).isEqualTo(""); assertThat(c.asMap().computeIfAbsent("hash-1", k -> "")).isEqualTo(""); assertThat(c.size()).isEqualTo(1); assertThat(c.asMap().computeIfAbsent("hash-2", k -> "")).isEqualTo(""); }
public void testCompute() { cache.put(key, "1"); // simultaneous deletion doParallelCacheOp(count, n -> { cache.asMap().compute(key, (k, v) -> null); }); assertEquals(0, cache.size()); }
public void testUpdates() { cache.put(key, "1"); // simultaneous update for same key, some null, some non-null doParallelCacheOp(count, n -> { cache.asMap().compute(key, (k, v) -> n % 2 == 0 ? v + delimiter + n : null); }); assertTrue(1 >= cache.size()); }
public void testAsMapValues_iteratorRemove() { Cache<Integer, Integer> cache = CaffeinatedGuava.build(Caffeine.newBuilder() .expireAfterWrite(1000, TimeUnit.MILLISECONDS) .executor(MoreExecutors.directExecutor()) .ticker(fakeTicker::read)); cache.put(10, 20); Iterator<Integer> iterator = cache.asMap().values().iterator(); iterator.next(); iterator.remove(); assertEquals(0, cache.size()); } }
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 testComputeEviction() { Cache<String, String> c = CaffeinatedGuava.build( Caffeine.newBuilder().executor(MoreExecutors.directExecutor()).maximumSize(1)); assertThat(c.asMap().compute("hash-1", (k, v) -> "a")).isEqualTo("a"); assertThat(c.asMap().compute("hash-1", (k, v) -> "b")).isEqualTo("b"); assertThat(c.asMap().compute("hash-1", (k, v) -> "c")).isEqualTo("c"); assertThat(c.size()).isEqualTo(1); assertThat(c.asMap().computeIfAbsent("hash-2", k -> "")).isEqualTo(""); }