@Override public boolean contains(Object key) { return underlyingCache.containsKey( key ); }
@Override public boolean isKeyInCache(final K key) { return cache.containsKey(key); }
@Override public <K> boolean containsKey(K key) { return jCache.containsKey(key); }
@Override public boolean contains(Class<?> type, Object key) { Cache cache = getCache(type); return cache != null && !cache.isClosed() && cache.containsKey(key); }
@Test public void testSimpleReplace2ArgsWithLoaderAndWriter_absent() throws Exception { when(cacheLoader.load(eq(1))).thenAnswer(invocation -> null); assertThat(testCache.containsKey(1), is(false)); assertThat(testCache.replace(1, "one"), is(false)); assertThat(testCache.containsKey(1), is(false)); verifyZeroInteractions(cacheLoader); verifyZeroInteractions(cacheWriter); }
@Test public void testSimpleReplace2ArgsWithLoaderAndWriter_existsInSor() throws Exception { when(cacheLoader.load(eq(1))).thenAnswer(invocation -> "un"); assertThat(testCache.containsKey(1), is(false)); assertThat(testCache.replace(1, "one"), is(false)); assertThat(testCache.containsKey(1), is(false)); verifyZeroInteractions(cacheLoader); verifyZeroInteractions(cacheWriter); }
@Test public void testSimpleReplace3ArgsWithLoaderAndWriter_existsInSor() throws Exception { when(cacheLoader.load(eq(1))).thenAnswer(invocation -> "un"); assertThat(testCache.containsKey(1), is(false)); assertThat(testCache.replace(1, "un", "one"), is(false)); assertThat(testCache.containsKey(1), is(false)); verifyZeroInteractions(cacheLoader); verifyZeroInteractions(cacheWriter); }
@Test public void testSimpleReplace3ArgsWithLoaderAndWriter_absent() throws Exception { when(cacheLoader.load(eq(1))).thenAnswer(invocation -> null); assertThat(testCache.containsKey(1), is(false)); assertThat(testCache.replace(1, "un", "one"), is(false)); verifyZeroInteractions(cacheLoader); verifyZeroInteractions(cacheWriter); }
@Test public void testSimpleRemove2ArgsWithLoaderAndWriter_absent() throws Exception { when(cacheLoader.load(eq(1))).thenAnswer(invocation -> null); assertThat(testCache.containsKey(1), is(false)); assertThat(testCache.remove(1, "one"), is(false)); verifyZeroInteractions(cacheLoader); verifyZeroInteractions(cacheWriter); }
@Test public void testSimpleRemove2ArgsWithLoaderAndWriter_existsInSor() throws Exception { when(cacheLoader.load(eq(1))).thenAnswer(invocation -> "un"); assertThat(testCache.containsKey(1), is(false)); assertThat(testCache.remove(1, "un"), is(false)); verifyZeroInteractions(cacheLoader); verifyZeroInteractions(cacheWriter); }
@Test public void testSimplePutIfAbsentWithLoaderAndWriter_existsInSor() throws Exception { assertThat(testCache.containsKey(1), is(false)); assertThat(testCache.putIfAbsent(1, "one"), is(true)); assertThat(testCache.get(1), Matchers.<CharSequence>equalTo("one")); verifyZeroInteractions(cacheLoader); verify(cacheWriter, times(1)).write(eq(new Eh107CacheLoaderWriter.Entry<Number, CharSequence>(1, "one"))); }
@Test public void testSimplePutIfAbsentWithLoaderAndWriter_absent() throws Exception { assertThat(testCache.containsKey(1), is(false)); assertThat(testCache.putIfAbsent(1, "one"), is(true)); assertThat(testCache.get(1), Matchers.<CharSequence>equalTo("one")); verifyZeroInteractions(cacheLoader); verify(cacheWriter, times(1)).write(eq(new Eh107CacheLoaderWriter.Entry<Number, CharSequence>(1, "one"))); }
@Test public void testSimplePutIfAbsentWithLoaderAndWriter_absent() throws Exception { assertThat(testCache.containsKey(1), is(false)); assertThat(testCache.putIfAbsent(1, "one"), is(true)); assertThat(testCache.get(1), Matchers.<CharSequence>equalTo("one")); verify(cacheLoader).load(1); verify(cacheWriter, times(1)).write(eq(new Eh107CacheLoaderWriter.Entry<Number, CharSequence>(1, "one"))); }
@Test public void containsKey() { expect(cache.containsKey(1)).isFalse(); changesOf(0, 0, 0, 0); cache.put(1, "a"); changesOf(0, 0, 1, 0); expect(cache.containsKey(1)).isTrue(); changesOf(0, 0, 0, 0); }
@SuppressWarnings("unchecked") @Test public void testDecorateSupplierWithCache() { javax.cache.Cache<String, String> cache = mock(javax.cache.Cache.class); // Given the cache contains the key given(cache.containsKey("testKey")).willReturn(true); // Return the value from cache given(cache.get("testKey")).willReturn("Hello from cache"); Function<String, String> cachedFunction = Decorators.ofSupplier(() -> "Hello world") .withCache(Cache.of(cache)) .decorate(); String value = cachedFunction.apply("testKey"); assertThat(value).isEqualTo("Hello from cache"); }
@SuppressWarnings("unchecked") @Test public void testDecorateCheckedSupplierWithCache() { javax.cache.Cache<String, String> cache = mock(javax.cache.Cache.class); // Given the cache contains the key given(cache.containsKey("testKey")).willReturn(true); // Return the value from cache given(cache.get("testKey")).willReturn("Hello from cache"); CheckedFunction1<String, String> cachedFunction = Decorators.ofCheckedSupplier(() -> "Hello world") .withCache(Cache.of(cache)) .decorate(); String value = Try.of(() -> cachedFunction.apply("testKey")).get(); assertThat(value).isEqualTo("Hello from cache"); }
/** {@inheritDoc} */ @Override public void evictFeature(String featureId) { if (getFeaturesCache().containsKey(featureId)) { getFeaturesCache().remove(featureId); } }
/** {@inheritDoc} */ @Override public void evictProperty(String propertyName) { if (getPropertiesCache().containsKey(propertyName)) { getPropertiesCache().remove(propertyName); } }
private <K> void doContainsKey(Supplier<K> keySupplier, Cache<K, String> readCache, Cache<K, String> writeCache) { K key = keySupplier.get(); assertEquals(false, readCache.containsKey(key)); assertEquals(null, writeCache.getAndPut(key, "one")); assertEquals(true, readCache.containsKey(key)); }
@Test public void shouldNotWriteThroughCallingContainsKeyOnExistingKey() { assertEquals(0, cacheWriter.getWriteCount()); assertEquals(0, cacheWriter.getDeleteCount()); // containsKey returns true case. cache.put(1, "Gudday World"); assertEquals(1, cacheWriter.getWriteCount()); assertEquals(0, cacheWriter.getDeleteCount()); cache.containsKey(1); assertEquals(1, cacheWriter.getWriteCount()); assertEquals(0, cacheWriter.getDeleteCount()); }