@Test
public void Should_restoreEntryAndRescheduleItWhenItIsNotTooLate()
        throws Exception {

    ISchedulingStrategy strategy = new OnceSchedulingStrategy();
    when(entry.getState()).thenReturn(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.iobject.IObject"),
            "{'time':'3410-01-01T00:00:01','neverTooLate':true}".replace('\'','"')));
    strategy.restore(entry);
    verify(entry).scheduleNext(LocalDateTime.parse("3410-01-01T00:00:01").atZone(ZoneOffset.UTC).toInstant().toEpochMilli());
    reset(entry);
    when(entry.getState()).thenReturn(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.iobject.IObject"),
            "{'time':'3410-01-01T00:00:01','neverTooLate':false}".replace('\'','"')));
    strategy.restore(entry);
    verify(entry).scheduleNext(LocalDateTime.parse("3410-01-01T00:00:01").atZone(ZoneOffset.UTC).toInstant().toEpochMilli());
}