@Test
public void testResolveDeleted()
{
// one CF with columns timestamped before a delete in another cf
ColumnFamily cf1 = ColumnFamily.create("Keyspace1", "Standard1");
cf1.addColumn(column("one", "A", 0));
ColumnFamily cf2 = ColumnFamily.create("Keyspace1", "Standard1");
cf2.delete(new DeletionInfo(1L, (int) (System.currentTimeMillis() / 1000)));
ColumnFamily resolved = RowRepairResolver.resolveSuperset(Arrays.asList(cf1, cf2));
// no columns in the cf
assertColumns(resolved);
assertTrue(resolved.isMarkedForDelete());
assertEquals(1, resolved.deletionInfo().getTopLevelDeletion().markedForDeleteAt);
ColumnFamily scf1 = ColumnFamily.create("Keyspace1", "Super1");
scf1.addColumn(superColumn(scf1, "super-foo", column("one", "A", 0)));
ColumnFamily scf2 = ColumnFamily.create("Keyspace1", "Super1");
scf2.delete(new DeletionInfo(1L, (int) (System.currentTimeMillis() / 1000)));
ColumnFamily superResolved = RowRepairResolver.resolveSuperset(Arrays.asList(scf1, scf2));
// no columns in the cf
assertColumns(superResolved);
assertTrue(superResolved.isMarkedForDelete());
assertEquals(1, superResolved.deletionInfo().getTopLevelDeletion().markedForDeleteAt);
}