@Test public void testInstallMapping() throws Exception { final TestTimeSource timeSource = new TestTimeSource(); AbstractOffHeapStore<String, String> offHeapStore = createAndInitStore( timeSource, Expirations.timeToIdleExpiration(new Duration(15L, TimeUnit.MILLISECONDS))); try { assertThat( offHeapStore .installMapping( "1", new Function<String, Store.ValueHolder<String>>() { @Override public Store.ValueHolder<String> apply(String key) { return new SimpleValueHolder<String>("one", timeSource.getTimeMillis(), 15); } }) .value(), equalTo("one")); validateStats( offHeapStore, EnumSet.of(LowerCachingTierOperationsOutcome.InstallMappingOutcome.PUT)); timeSource.advanceTime(20); try { offHeapStore.installMapping( "1", new Function<String, Store.ValueHolder<String>>() { @Override public Store.ValueHolder<String> apply(String key) { return new SimpleValueHolder<String>("un", timeSource.getTimeMillis(), 15); } }); fail("expected AssertionError"); } catch (AssertionError ae) { // expected } } finally { destroyStore(offHeapStore); } }