### Question:
AcknowledgeOnCheckpoint implements CheckpointListener, ListCheckpointed<AcknowledgeIdsForCheckpoint<ACKID>> { public int numberOfOutstandingAcknowledgements() { return outstandingAcknowledgements.get(); } AcknowledgeOnCheckpoint(Acknowledger<ACKID> acknowledger); void addAcknowledgeId(ACKID id); @Override void notifyCheckpointComplete(long checkpointId); @Override List<AcknowledgeIdsForCheckpoint<ACKID>> snapshotState(long checkpointId, long timestamp); @Override void restoreState(List<AcknowledgeIdsForCheckpoint<ACKID>> state); int numberOfOutstandingAcknowledgements();  }### Answer:
@Test public void testNumberOfOutstandingAcknowledgementsOnEmptyState() throws Exception { AcknowledgeOnCheckpoint<String> acknowledgeOnCheckpoint = new AcknowledgeOnCheckpoint<>(mockedAcknowledger); assertThat(acknowledgeOnCheckpoint.numberOfOutstandingAcknowledgements(), is(0)); }