### Question:
ShardPreparedCheckpointer implements PreparedCheckpointer { @Override public void checkpoint() throws KinesisClientLibDependencyException, InvalidStateException, ThrottlingException, ShutdownException, IllegalArgumentException { checkpointer.checkpoint(pendingCheckpointSequenceNumber.sequenceNumber(), pendingCheckpointSequenceNumber.subSequenceNumber()); } ShardPreparedCheckpointer(ExtendedSequenceNumber pendingCheckpointSequenceNumber,
                                     RecordProcessorCheckpointer checkpointer); @Override ExtendedSequenceNumber pendingCheckpoint(); @Override void checkpoint();  }### Answer:
@Test public void testCheckpoint() throws Exception { ExtendedSequenceNumber sn = new ExtendedSequenceNumber("sn"); RecordProcessorCheckpointer mockRecordProcessorCheckpointer = Mockito.mock(RecordProcessorCheckpointer.class); PreparedCheckpointer checkpointer = new ShardPreparedCheckpointer(sn, mockRecordProcessorCheckpointer); checkpointer.checkpoint(); Mockito.verify(mockRecordProcessorCheckpointer).checkpoint(sn.sequenceNumber(), sn.subSequenceNumber()); }