@Override public void accept(CachedReferenceListener<V> listener) { listener.onSet(event); } });
@Override public void onSet(@Nonnull CachedReferenceEvent<OsgiSafe<V>> event) { delegate.onSet(new DefaultCachedReferenceEvent<V>(unwrap(event.getValue()))); }
@Test public void testOnSet() throws Exception { Supplier<String> supplier = mock(Supplier.class); when(supplier.get()).thenReturn("SET"); CachedReference<String> reference = factory.getCachedReference("set", supplier, settingsBuilder().build()); CachedReferenceListener listener = mock(CachedReferenceListener.class); reference.addListener(listener, true); reference.get(); ArgumentCaptor<CachedReferenceEvent> captor = ArgumentCaptor.forClass(CachedReferenceEvent.class); verify(listener, timeout(1000)).onSet(captor.capture()); CachedReferenceEvent<String> event = captor.getValue(); assertEquals("SET", event.getValue()); }