@Test
public void assertIsHandlerInitializedWorksCorrectlyForAThing() {

    thing.setStatusInfo(create(ThingStatus.UNINITIALIZED).build());
    assertThat(isHandlerInitialized(thing), is(false));
    thing.setStatusInfo(create(ThingStatus.INITIALIZING).build());
    assertThat(isHandlerInitialized(thing), is(false));
    thing.setStatusInfo(create(ThingStatus.REMOVING).build());
    assertThat(isHandlerInitialized(thing), is(false));
    thing.setStatusInfo(create(ThingStatus.REMOVED).build());
    assertThat(isHandlerInitialized(thing), is(false));
    thing.setStatusInfo(create(ThingStatus.UNKNOWN).build());
    assertThat(isHandlerInitialized(thing), is(true));
    thing.setStatusInfo(create(ThingStatus.ONLINE).build());
    assertThat(isHandlerInitialized(thing), is(true));
    thing.setStatusInfo(create(ThingStatus.OFFLINE).build());
    assertThat(isHandlerInitialized(thing), is(true));
}