use of org.eclipse.smarthome.core.service.ReadyMarkerFilter in project smarthome by eclipse.
the class ReadyServiceImpl method notifyTracker.
private void notifyTracker(ReadyTracker readyTracker, Consumer<ReadyMarker> action) {
ReadyMarkerFilter f = trackers.get(readyTracker);
markers.stream().filter(marker -> f.apply(marker)).forEach(action);
}
use of org.eclipse.smarthome.core.service.ReadyMarkerFilter in project smarthome by eclipse.
the class ReadyServiceImplTest method testUnregisterTracker.
@Test
public void testUnregisterTracker() {
ReadyTracker tracker = mock(ReadyTracker.class);
ReadyServiceImpl rs = new ReadyServiceImpl();
rs.markReady(new ReadyMarker("foo", "id"));
rs.registerTracker(tracker, new ReadyMarkerFilter());
verify(tracker).onReadyMarkerAdded(isA(ReadyMarker.class));
rs.unregisterTracker(tracker);
verify(tracker).onReadyMarkerRemoved(isA(ReadyMarker.class));
verifyNoMoreInteractions(tracker);
}
use of org.eclipse.smarthome.core.service.ReadyMarkerFilter in project smarthome by eclipse.
the class ReadyServiceImplTest method testTrackersAreInformedOnlyOnMatch.
@Test
public void testTrackersAreInformedOnlyOnMatch() {
ReadyTracker tracker = mock(ReadyTracker.class);
ReadyServiceImpl rs = new ReadyServiceImpl();
rs.registerTracker(tracker, new ReadyMarkerFilter().withType("test"));
rs.markReady(new ReadyMarker("foo", "id"));
verifyNoMoreInteractions(tracker);
rs.markReady(new ReadyMarker("test", "id"));
verify(tracker).onReadyMarkerAdded(isA(ReadyMarker.class));
verifyNoMoreInteractions(tracker);
}
Aggregations