+ log.appendAndPersist(logEntry2, mockCallback);
+
+ verifyPersist(logEntry2);
+
+ verify(mockCallback).apply(same(logEntry2));
+
+ assertEquals("size", 2, log.size());
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testAppendAndPersisWithDuplicateEntry() throws Exception {
+ ReplicatedLog log = ReplicatedLogImpl.newInstance(context);
+
+ Procedure<ReplicatedLogEntry> mockCallback = Mockito.mock(Procedure.class);
+ MockReplicatedLogEntry logEntry = new MockReplicatedLogEntry(1, 1, new MockPayload("1"));
+