@Test
public void Should_initializeEntryState()
        throws Exception {

    ISchedulingStrategy strategy = new CheckpointFibonacciRepeatStrategy();
    makeEntry("{}");
    strategy.init(entryMock, makeArgs("{" +
            "'times':2," +
            "'baseInterval':'PT3H'" +
            "}"));
    verify(entryMock).save();
    verify(entryMock).scheduleNext(anyLong());
    assertEquals("PT3H", entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "baseInterval")));
    assertEquals("PT3H", entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "postRestoreDelay")));
    assertEquals("PT3H", entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "postCompletionDelay")));
    assertEquals(2, entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "times")));
    assertEquals(1, entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "remainingTimes")));
    // Strategy calculated interval one time so (0,1) replaced by (1,1)
    assertEquals(1, entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "number1")));
    assertEquals(1, entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "number2")));
}