public class CompactionTupleIteratorTest { private static final ByteBuffer KEY_1 = ByteBuffers.fromString("test key 1"); private static final ByteBuffer KEY_2 = ByteBuffers.fromString("test key 2"); private static final ByteBuffer KEY_3 = ByteBuffers.fromString("test key 3"); private final List<Tuple> sourceTuples = new ArrayList<Tuple>(); private final List<Tuple> filteredTuples = new ArrayList<Tuple>(); public CompactionTupleIteratorTest() { sourceTuples.add(new Tuple(new Key(KEY_3, 0), Value.TOMBSTONE_VALUE)); sourceTuples.add(new Tuple(new Key(KEY_1, 1), Value.TOMBSTONE_VALUE)); sourceTuples.add(new Tuple(new Key(KEY_1, 2), Value.TOMBSTONE_VALUE)); sourceTuples.add(new Tuple(new Key(KEY_1, 3), Value.TOMBSTONE_VALUE)); sourceTuples.add(new Tuple(new Key(KEY_2, 4), Value.TOMBSTONE_VALUE)); sourceTuples.add(new Tuple(new Key(KEY_2, 5), Value.TOMBSTONE_VALUE)); filteredTuples.add(new Tuple(new Key(KEY_3, 0), Value.TOMBSTONE_VALUE)); filteredTuples.add(new Tuple(new Key(KEY_1, 2), Value.TOMBSTONE_VALUE)); filteredTuples.add(new Tuple(new Key(KEY_1, 3), Value.TOMBSTONE_VALUE)); filteredTuples.add(new Tuple(new Key(KEY_2, 4), Value.TOMBSTONE_VALUE)); filteredTuples.add(new Tuple(new Key(KEY_2, 5), Value.TOMBSTONE_VALUE)); } @Test public void basicFilterTest() { Iterator<Tuple> filteredIterator = filteredTuples.iterator(); Iterator<Tuple> versionedIterator = new CompactionTupleIterator( 2, new CloseableIterator.Wrapper<Tuple>(sourceTuples.iterator())); while (versionedIterator.hasNext()) { Assert.assertEquals("Records match", filteredIterator.next(), versionedIterator.next()); } } }