private void verifyStoreContents(final FeedbackStore store, final int count, Writer... writers) throws IOException { store.reset(); store.init(); assertEquals(store.getFirstEventID(), 0, "First record ID is different"); assertEquals(store.getLastEventID(), count - 1, "Last record ID is different"); // Verify the written file... List<Record> records = store.getRecords(0, count - 1); Collections.sort(records); long expectedID = 0; for (Record record : records) { long id = record.m_id; byte[] expectedEntry = null; for (int i = 0; (expectedEntry == null) && i < writers.length; i++) { expectedEntry = writers[i].m_written.remove(id); } assertNotNull(expectedEntry, "Event ID #" + id + " never written?!"); // Test consistency of written data... assertEquals(record.m_entry, expectedEntry, "Entry mismatch?!"); // Test continuation of written data... assertEquals(record.m_id, expectedID++, "Entry ID mismatch?!"); } } }