Search in sources :

Example 1 with ReadyTracker

use of org.eclipse.smarthome.core.service.ReadyService.ReadyTracker in project smarthome by eclipse.

the class ReadyServiceImplTest method testTrackersAreInformedInitially.

@Test
public void testTrackersAreInformedInitially() {
    ReadyTracker tracker = mock(ReadyTracker.class);
    ReadyServiceImpl rs = new ReadyServiceImpl();
    rs.markReady(new ReadyMarker("test", "id"));
    rs.registerTracker(tracker);
    verify(tracker).onReadyMarkerAdded(isA(ReadyMarker.class));
    verifyNoMoreInteractions(tracker);
}
Also used : ReadyMarker(org.eclipse.smarthome.core.service.ReadyMarker) ReadyTracker(org.eclipse.smarthome.core.service.ReadyService.ReadyTracker) Test(org.junit.Test)

Example 2 with ReadyTracker

use of org.eclipse.smarthome.core.service.ReadyService.ReadyTracker in project smarthome by eclipse.

the class ReadyServiceImplTest method testTrackersAreInformedOnChange.

@Test
public void testTrackersAreInformedOnChange() {
    ReadyTracker tracker = mock(ReadyTracker.class);
    ReadyServiceImpl rs = new ReadyServiceImpl();
    rs.registerTracker(tracker);
    rs.markReady(new ReadyMarker("test", "id"));
    verify(tracker).onReadyMarkerAdded(isA(ReadyMarker.class));
    rs.unmarkReady(new ReadyMarker("test", "id"));
    verify(tracker).onReadyMarkerRemoved(isA(ReadyMarker.class));
    verifyNoMoreInteractions(tracker);
}
Also used : ReadyMarker(org.eclipse.smarthome.core.service.ReadyMarker) ReadyTracker(org.eclipse.smarthome.core.service.ReadyService.ReadyTracker) Test(org.junit.Test)

Example 3 with ReadyTracker

use of org.eclipse.smarthome.core.service.ReadyService.ReadyTracker 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);
}
Also used : ReadyMarker(org.eclipse.smarthome.core.service.ReadyMarker) ReadyMarkerFilter(org.eclipse.smarthome.core.service.ReadyMarkerFilter) ReadyTracker(org.eclipse.smarthome.core.service.ReadyService.ReadyTracker) Test(org.junit.Test)

Example 4 with ReadyTracker

use of org.eclipse.smarthome.core.service.ReadyService.ReadyTracker 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);
}
Also used : ReadyMarkerFilter(org.eclipse.smarthome.core.service.ReadyMarkerFilter) ReadyMarker(org.eclipse.smarthome.core.service.ReadyMarker) ReadyTracker(org.eclipse.smarthome.core.service.ReadyService.ReadyTracker) Test(org.junit.Test)

Aggregations

ReadyMarker (org.eclipse.smarthome.core.service.ReadyMarker)4 ReadyTracker (org.eclipse.smarthome.core.service.ReadyService.ReadyTracker)4 Test (org.junit.Test)4 ReadyMarkerFilter (org.eclipse.smarthome.core.service.ReadyMarkerFilter)2