@Test
public void Should_processFeedbackMessages()
        throws Exception {

    long startTime = System.currentTimeMillis();
    IObject args = IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.iobject.IObject"),
            ("{" +
                    "'connectionOptionsDependency':'the connection options'," +
                    "'connectionPoolDependency':'the connection pool'," +
                    "'collectionName':'" + collectionName + "'" +
                    "}").replace('\'','"'));
    IObject entryState = IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.iobject.IObject"));
    CheckpointActor actor = new CheckpointActor(args);
    when(feedbackMessageMock.getPrevCheckpointEntryId()).thenReturn("prevId");
    when(storageMock.getEntry("prevId")).thenReturn(entryMock[0]);
    when(entryMock[0].getState()).thenReturn(entryState);
    actor.feedback(feedbackMessageMock);
    ArgumentCaptor<Long> timeCaptor = ArgumentCaptor.forClass(long.class);
    assertNotNull(entryState.getValue(IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.ifield_name.IFieldName"), "completed")));
    verify(entryMock[0]).scheduleNext(timeCaptor.capture());
    assertTrue(timeCaptor.getValue() >= (startTime + 1000));
}