@Test
public void Should_copyArgumentsToEntryState()
        throws Exception {

    ISchedulingStrategy strategy = new CheckpointRegularRepeatStrategy();
    makeEntry("{}");
    strategy.init(entryMock, makeArgs("{" +
            "'times':2," +
            "'interval':'PT3H'" +
            "}"));
    verify(entryMock).save();
    verify(entryMock).scheduleNext(anyLong());
    assertEquals("PT3H", entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "interval")));
    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")));
    //
    makeEntry("{}");
    strategy.init(entryMock, makeArgs("{" +
            "'times':3," +
            "'interval':'PT2H'," +
            "'postRestoreDelay':'PT3H'," +
            "'postCompletionDelay':'PT4H'" +
            "}"));
    verify(entryMock).save();
    verify(entryMock).scheduleNext(anyLong());
    assertEquals("PT2H", entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "interval")));
    assertEquals("PT3H", entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "postRestoreDelay")));
    assertEquals("PT4H", entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "postCompletionDelay")));
    assertEquals(3, entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "times")));
    assertEquals(2, entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "remainingTimes")));
}