@GwtIncompatible // weigher public void testWeigher_withMaximumSize() { try { CacheBuilder.newBuilder().weigher(constantWeigher(42)).maximumSize(1); fail(); } catch (IllegalStateException expected) { } try { CacheBuilder.newBuilder().maximumSize(1).weigher(constantWeigher(42)); fail(); } catch (IllegalStateException expected) { } }
@GwtIncompatible // weigher public void testWeigher_withoutMaximumWeight() { CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder().weigher(constantWeigher(42)); try { builder.build(identityLoader()); fail(); } catch (IllegalStateException expected) { } }
public void testMaximumSize_withWeigher() { CacheBuilder<Object, Object> builder = CacheBuilder.from(parse("maximumSize=9000")); builder.weigher(constantWeigher(42)).build(CacheLoader.from(Suppliers.ofInstance(null))); }
public void testMaximumWeight_withWeigher() { CacheBuilder<Object, Object> builder = CacheBuilder.from(parse("maximumWeight=9000")); builder.weigher(constantWeigher(42)).build(CacheLoader.from(Suppliers.ofInstance(null))); }
public void testEviction_setMaxSegmentWeight() { IdentityLoader<Object> loader = identityLoader(); for (int i = 1; i < 1000; i++) { LoadingCache<Object, Object> cache = CacheBuilder.newBuilder().maximumWeight(i).weigher(constantWeigher(1)).build(loader); assertEquals(i, CacheTesting.getTotalSegmentSize(cache)); } }
public void testEviction_overflow() { CountingRemovalListener<Object, Object> removalListener = countingRemovalListener(); IdentityLoader<Object> loader = identityLoader(); LoadingCache<Object, Object> cache = CacheBuilder.newBuilder() .concurrencyLevel(1) .maximumWeight(1L << 31) .weigher(constantWeigher(Integer.MAX_VALUE)) .removalListener(removalListener) .build(loader); cache.getUnchecked(objectWithHash(0)); cache.getUnchecked(objectWithHash(0)); CacheTesting.processPendingNotifications(cache); assertEquals(1, removalListener.getCount()); }
public void testEviction_maxWeightOneSegment() { IdentityLoader<Integer> loader = identityLoader(); LoadingCache<Integer, Integer> cache = CacheBuilder.newBuilder() .concurrencyLevel(1) .maximumWeight(2 * MAX_SIZE) .weigher(constantWeigher(2)) .build(loader); for (int i = 0; i < 2 * MAX_SIZE; i++) { cache.getUnchecked(i); assertEquals(Math.min(i + 1, MAX_SIZE), cache.size()); } assertEquals(MAX_SIZE, cache.size()); CacheTesting.checkValidState(cache); }
public void testEviction_maxWeight() { CountingRemovalListener<Integer, Integer> removalListener = countingRemovalListener(); IdentityLoader<Integer> loader = identityLoader(); LoadingCache<Integer, Integer> cache = CacheBuilder.newBuilder() .maximumWeight(2 * MAX_SIZE) .weigher(constantWeigher(2)) .removalListener(removalListener) .build(loader); for (int i = 0; i < 2 * MAX_SIZE; i++) { cache.getUnchecked(i); assertTrue(cache.size() <= MAX_SIZE); } assertEquals(MAX_SIZE, CacheTesting.accessQueueSize(cache)); assertEquals(MAX_SIZE, cache.size()); CacheTesting.processPendingNotifications(cache); assertEquals(MAX_SIZE, removalListener.getCount()); CacheTesting.checkValidState(cache); }
public void testEviction_maxWeightOneSegment() { IdentityLoader<Integer> loader = identityLoader(); LoadingCache<Integer, Integer> cache = CaffeinatedGuava.build(Caffeine.newBuilder() .executor(MoreExecutors.directExecutor()) .maximumWeight(2 * MAX_SIZE) .weigher(constantWeigher(2)), loader); for (int i = 0; i < 2 * MAX_SIZE; i++) { cache.getUnchecked(i); assertEquals(Math.min(i + 1, MAX_SIZE), cache.size()); } assertEquals(MAX_SIZE, cache.size()); CacheTesting.checkValidState(cache); }
@GwtIncompatible("weigher") public void testWeigher_withMaximumSize() { try { Caffeine.newBuilder() .weigher(constantWeigher(42)) .maximumSize(1); fail(); } catch (IllegalStateException expected) {} try { Caffeine.newBuilder() .maximumSize(1) .weigher(constantWeigher(42)); fail(); } catch (IllegalStateException expected) {} }
public void testEviction_overflow() { CountingRemovalListener<Object, Object> removalListener = countingRemovalListener(); IdentityLoader<Object> loader = identityLoader(); LoadingCache<Object, Object> cache = CaffeinatedGuava.build(Caffeine.newBuilder() .maximumWeight(1L << 31) .executor(MoreExecutors.directExecutor()) .weigher(constantWeigher(Integer.MAX_VALUE)) .removalListener(removalListener), loader); cache.getUnchecked(objectWithHash(0)); cache.getUnchecked(objectWithHash(0)); assertEquals(1, removalListener.getCount()); }
@GwtIncompatible("weigher") public void testWeigher_withoutMaximumWeight() { Caffeine<Object, Object> builder = Caffeine.newBuilder() .weigher(constantWeigher(42)); try { CaffeinatedGuava.build(builder, identityLoader()); fail(); } catch (IllegalStateException expected) {} }
.initialCapacity(initialCapacity) .maximumWeight(maxSize) .weigher(constantWeigher(1))); assertTrue( "segments=" + map.segments.length + ", maxSize=" + maxSize,
public void testEviction_maxWeight() { CountingRemovalListener<Integer, Integer> removalListener = countingRemovalListener(); IdentityLoader<Integer> loader = identityLoader(); LoadingCache<Integer, Integer> cache = CaffeinatedGuava.build(Caffeine.newBuilder() .maximumWeight(2 * MAX_SIZE) .weigher(constantWeigher(2)) .executor(MoreExecutors.directExecutor()) .removalListener(removalListener), loader); for (int i = 0; i < 2 * MAX_SIZE; i++) { cache.getUnchecked(i); assertTrue(cache.size() <= MAX_SIZE); } assertEquals(MAX_SIZE, cache.size()); assertEquals(MAX_SIZE, removalListener.getCount()); CacheTesting.checkValidState(cache); }
@GwtIncompatible // weigher public void testWeigher_withMaximumSize() { try { CacheBuilder.newBuilder().weigher(constantWeigher(42)).maximumSize(1); fail(); } catch (IllegalStateException expected) {} try { CacheBuilder.newBuilder().maximumSize(1).weigher(constantWeigher(42)); fail(); } catch (IllegalStateException expected) {} }
public void testMaximumWeight_withWeigher() { CacheBuilder<Object, Object> builder = CacheBuilder.from(parse("maximumWeight=9000")); builder .weigher(constantWeigher(42)) .build(CacheLoader.from(Suppliers.ofInstance(null))); }
public void testMaximumSize_withWeigher() { CacheBuilder<Object, Object> builder = CacheBuilder.from(parse("maximumSize=9000")); builder .weigher(constantWeigher(42)) .build(CacheLoader.from(Suppliers.ofInstance(null))); }
@GwtIncompatible // weigher public void testWeigher_withoutMaximumWeight() { CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder() .weigher(constantWeigher(42)); try { builder.build(identityLoader()); fail(); } catch (IllegalStateException expected) {} }
public void testEviction_setMaxSegmentWeight() { IdentityLoader<Object> loader = identityLoader(); for (int i = 1; i < 1000; i++) { LoadingCache<Object, Object> cache = CacheBuilder.newBuilder() .maximumWeight(i) .weigher(constantWeigher(1)) .build(loader); assertEquals(i, CacheTesting.getTotalSegmentSize(cache)); } }
public void testEviction_maxWeightOneSegment() { IdentityLoader<Integer> loader = identityLoader(); LoadingCache<Integer, Integer> cache = CacheBuilder.newBuilder() .concurrencyLevel(1) .maximumWeight(2 * MAX_SIZE) .weigher(constantWeigher(2)) .build(loader); for (int i = 0; i < 2 * MAX_SIZE; i++) { cache.getUnchecked(i); assertEquals(Math.min(i + 1, MAX_SIZE), cache.size()); } assertEquals(MAX_SIZE, cache.size()); CacheTesting.checkValidState(cache); }