private static void assertCaffeineEquivalence(Caffeine<?, ?> a, Caffeine<?, ?> b) { assertEquals("expireAfterAccessNanos", a.expireAfterAccessNanos, b.expireAfterAccessNanos); assertEquals("expireAfterWriteNanos", a.expireAfterWriteNanos, b.expireAfterWriteNanos); assertEquals("initialCapacity", a.initialCapacity, b.initialCapacity); assertEquals("maximumSize", a.maximumSize, b.maximumSize); assertEquals("maximumWeight", a.maximumWeight, b.maximumWeight); assertEquals("refreshNanos", a.refreshNanos, b.refreshNanos); assertEquals("keyStrength", a.keyStrength, b.keyStrength); assertEquals("removalListener", a.removalListener, b.removalListener); assertEquals("weigher", a.weigher, b.weigher); assertEquals("valueStrength", a.valueStrength, b.valueStrength); assertEquals("statsCounterSupplier", a.statsCounterSupplier, b.statsCounterSupplier); assertEquals("ticker", a.ticker, b.ticker); assertEquals("recordStats", a.isRecordingStats(), b.isRecordingStats()); } }
public void testParse_accessExpirationAndWriteExpiration() { CaffeineSpec spec = parse("expireAfterAccess=10s,expireAfterWrite=9m"); assertEquals(TimeUnit.MINUTES, spec.expireAfterWriteTimeUnit); assertEquals(9L, spec.expireAfterWriteDuration); assertEquals(TimeUnit.SECONDS, spec.expireAfterAccessTimeUnit); assertEquals(10L, spec.expireAfterAccessDuration); assertCaffeineEquivalence( Caffeine.newBuilder() .expireAfterAccess(10L, TimeUnit.SECONDS) .expireAfterWrite(9L, TimeUnit.MINUTES), Caffeine.from(spec)); }
public void testParse_multipleKeys() { CaffeineSpec spec = parse("initialCapacity=10,maximumSize=20," + "weakKeys,weakValues,expireAfterAccess=10m,expireAfterWrite=1h"); assertEquals(10, spec.initialCapacity); assertEquals(20, spec.maximumSize); assertEquals(spec.maximumWeight, UNSET_INT); assertEquals(Strength.WEAK, spec.keyStrength); assertEquals(Strength.WEAK, spec.valueStrength); assertEquals(TimeUnit.HOURS, spec.expireAfterWriteTimeUnit); assertEquals(TimeUnit.MINUTES, spec.expireAfterAccessTimeUnit); assertEquals(1L, spec.expireAfterWriteDuration); assertEquals(10L, spec.expireAfterAccessDuration); Caffeine<?, ?> expected = Caffeine.newBuilder() .initialCapacity(10) .maximumSize(20) .weakKeys() .weakValues() .expireAfterAccess(10L, TimeUnit.MINUTES) .expireAfterWrite(1L, TimeUnit.HOURS); assertCaffeineEquivalence(expected, Caffeine.from(spec)); }
public void testParse_accessExpirationDays() { CaffeineSpec spec = parse("expireAfterAccess=10d"); assertEquals(spec.initialCapacity, UNSET_INT); assertEquals(spec.maximumSize, UNSET_INT); assertEquals(spec.maximumWeight, UNSET_INT); assertNull(spec.keyStrength); assertNull(spec.valueStrength); assertNull(spec.expireAfterWriteTimeUnit); assertEquals(TimeUnit.DAYS, spec.expireAfterAccessTimeUnit); assertEquals(10L, spec.expireAfterAccessDuration); assertCaffeineEquivalence( Caffeine.newBuilder().expireAfterAccess(10L, TimeUnit.DAYS), Caffeine.from(spec)); }
public void testParse_writeExpirationDays() { CaffeineSpec spec = parse("expireAfterWrite=10d"); assertEquals(spec.initialCapacity, UNSET_INT); assertEquals(spec.maximumSize, UNSET_INT); assertEquals(spec.maximumWeight, UNSET_INT); assertNull(spec.keyStrength); assertNull(spec.valueStrength); assertEquals(TimeUnit.DAYS, spec.expireAfterWriteTimeUnit); assertEquals(10L, spec.expireAfterWriteDuration); assertNull(spec.expireAfterAccessTimeUnit); assertNull(spec.refreshAfterWriteTimeUnit); assertCaffeineEquivalence( Caffeine.newBuilder().expireAfterWrite(10L, TimeUnit.DAYS), Caffeine.from(spec)); }
public void testParse_whitespaceAllowed() { CaffeineSpec spec = parse(" initialCapacity=10,\nmaximumSize=20,\t\r" + "weakKeys \t ,softValues \n , \r expireAfterWrite \t = 15s\n\n"); assertEquals(10, spec.initialCapacity); assertEquals(20, spec.maximumSize); assertEquals(spec.maximumWeight, UNSET_INT); assertEquals(Strength.WEAK, spec.keyStrength); assertEquals(Strength.SOFT, spec.valueStrength); assertEquals(TimeUnit.SECONDS, spec.expireAfterWriteTimeUnit); assertEquals(15L, spec.expireAfterWriteDuration); assertNull(spec.expireAfterAccessTimeUnit); Caffeine<?, ?> expected = Caffeine.newBuilder() .initialCapacity(10) .maximumSize(20) .weakKeys() .softValues() .expireAfterWrite(15L, TimeUnit.SECONDS); assertCaffeineEquivalence(expected, Caffeine.from(spec)); }
public void testParse_weakKeys() { CaffeineSpec spec = parse("weakKeys"); assertEquals(spec.initialCapacity, UNSET_INT); assertEquals(spec.maximumSize, UNSET_INT); assertEquals(spec.maximumWeight, UNSET_INT); assertEquals(Strength.WEAK, spec.keyStrength); assertNull(spec.valueStrength); assertNull(spec.expireAfterWriteTimeUnit); assertNull(spec.expireAfterAccessTimeUnit); assertNull(spec.refreshAfterWriteTimeUnit); assertCaffeineEquivalence( Caffeine.newBuilder().weakKeys(), Caffeine.from(spec)); }
public void testParse_softValues() { CaffeineSpec spec = parse("softValues"); assertEquals(spec.initialCapacity, UNSET_INT); assertEquals(spec.maximumSize, UNSET_INT); assertEquals(spec.maximumWeight, UNSET_INT); assertNull(spec.keyStrength); assertEquals(Strength.SOFT, spec.valueStrength); assertNull(spec.expireAfterWriteTimeUnit); assertNull(spec.expireAfterAccessTimeUnit); assertNull(spec.refreshAfterWriteTimeUnit); assertCaffeineEquivalence( Caffeine.newBuilder().softValues(), Caffeine.from(spec)); }
public void testParse_weakValues() { CaffeineSpec spec = parse("weakValues"); assertEquals(spec.initialCapacity, UNSET_INT); assertEquals(spec.maximumSize, UNSET_INT); assertEquals(spec.maximumWeight, UNSET_INT); assertNull(spec.keyStrength); assertEquals(Strength.WEAK, spec.valueStrength); assertNull(spec.expireAfterWriteTimeUnit); assertNull(spec.expireAfterAccessTimeUnit); assertNull(spec.refreshAfterWriteTimeUnit); assertCaffeineEquivalence( Caffeine.newBuilder().weakValues(), Caffeine.from(spec)); }
public void testParse_writeExpirationMinutes() { CaffeineSpec spec = parse("expireAfterWrite=10m"); assertEquals(TimeUnit.MINUTES, spec.expireAfterWriteTimeUnit); assertEquals(10L, spec.expireAfterWriteDuration); assertCaffeineEquivalence( Caffeine.newBuilder().expireAfterWrite(10L, TimeUnit.MINUTES), Caffeine.from(spec)); }
public void testParse_accessExpirationSeconds() { CaffeineSpec spec = parse("expireAfterAccess=10s"); assertEquals(TimeUnit.SECONDS, spec.expireAfterAccessTimeUnit); assertEquals(10L, spec.expireAfterAccessDuration); assertCaffeineEquivalence( Caffeine.newBuilder().expireAfterAccess(10L, TimeUnit.SECONDS), Caffeine.from(spec)); }
public void testParse_accessExpirationHours() { CaffeineSpec spec = parse("expireAfterAccess=150h"); assertEquals(TimeUnit.HOURS, spec.expireAfterAccessTimeUnit); assertEquals(150L, spec.expireAfterAccessDuration); assertCaffeineEquivalence( Caffeine.newBuilder().expireAfterAccess(150L, TimeUnit.HOURS), Caffeine.from(spec)); }
public void testParse_writeExpirationHours() { CaffeineSpec spec = parse("expireAfterWrite=150h"); assertEquals(TimeUnit.HOURS, spec.expireAfterWriteTimeUnit); assertEquals(150L, spec.expireAfterWriteDuration); assertCaffeineEquivalence( Caffeine.newBuilder().expireAfterWrite(150L, TimeUnit.HOURS), Caffeine.from(spec)); }
public void testParse_accessExpirationMinutes() { CaffeineSpec spec = parse("expireAfterAccess=10m"); assertEquals(TimeUnit.MINUTES, spec.expireAfterAccessTimeUnit); assertEquals(10L, spec.expireAfterAccessDuration); assertCaffeineEquivalence( Caffeine.newBuilder().expireAfterAccess(10L, TimeUnit.MINUTES), Caffeine.from(spec)); }
public void testParse_writeExpirationSeconds() { CaffeineSpec spec = parse("expireAfterWrite=10s"); assertEquals(TimeUnit.SECONDS, spec.expireAfterWriteTimeUnit); assertEquals(10L, spec.expireAfterWriteDuration); assertCaffeineEquivalence( Caffeine.newBuilder().expireAfterWrite(10L, TimeUnit.SECONDS), Caffeine.from(spec)); }
public void testParse_empty() { CaffeineSpec spec = parse(""); assertEquals(spec.initialCapacity, UNSET_INT); assertEquals(spec.maximumSize, UNSET_INT); assertEquals(spec.maximumWeight, UNSET_INT); assertNull(spec.keyStrength); assertNull(spec.valueStrength); assertNull(spec.expireAfterAccessTimeUnit); assertNull(spec.expireAfterWriteTimeUnit); assertNull(spec.refreshAfterWriteTimeUnit); assertCaffeineEquivalence(Caffeine.newBuilder(), Caffeine.from(spec)); }
public void testParse_initialCapacity() { CaffeineSpec spec = parse("initialCapacity=10"); assertEquals(10, spec.initialCapacity); assertEquals(spec.maximumSize, UNSET_INT); assertEquals(spec.maximumWeight, UNSET_INT); assertNull(spec.keyStrength); assertNull(spec.valueStrength); assertNull(spec.expireAfterWriteTimeUnit); assertNull(spec.expireAfterAccessTimeUnit); assertNull(spec.refreshAfterWriteTimeUnit); assertCaffeineEquivalence( Caffeine.newBuilder().initialCapacity(10), Caffeine.from(spec)); }
public void testParse_maximumSize() { CaffeineSpec spec = parse("maximumSize=9000"); assertEquals(spec.initialCapacity, UNSET_INT); assertEquals(9000, spec.maximumSize); assertNull(spec.keyStrength); assertNull(spec.valueStrength); assertNull(spec.expireAfterWriteTimeUnit); assertNull(spec.expireAfterAccessTimeUnit); assertNull(spec.refreshAfterWriteTimeUnit); assertCaffeineEquivalence( Caffeine.newBuilder().maximumSize(9000), Caffeine.from(spec)); }
public void testParse_maximumWeight() { CaffeineSpec spec = parse("maximumWeight=9000"); assertEquals(spec.initialCapacity, UNSET_INT); assertEquals(9000, spec.maximumWeight); assertNull(spec.keyStrength); assertNull(spec.valueStrength); assertNull(spec.expireAfterWriteTimeUnit); assertNull(spec.expireAfterAccessTimeUnit); assertNull(spec.refreshAfterWriteTimeUnit); assertCaffeineEquivalence( Caffeine.newBuilder().maximumWeight(9000), Caffeine.from(spec)); }