@Test
public void testScanWithDelete() throws Exception {

  ColumnCoordinate[] scanColumns = new ColumnCoordinate[]{COLUMN, COLUMN_WITH_ANOTHER_FAMILY, COLUMN_WITH_ANOTHER_QUALIFIER};
  // delete and put both before prewriteTs
  nextTransactionTs();
  createTransactionWithMock();
  writeDeleteAfterPut(COLUMN_WITH_ANOTHER_FAMILY, prewriteTs - 5, commitTs - 5);
  writePutAfterDelete(COLUMN_WITH_ANOTHER_QUALIFIER, prewriteTs - 5, commitTs - 5);
  ThemisScanner scanner = prepareScanner(scanColumns);
  Result result = scanner.next();
  checkReadColumnResultWithTs(result, COLUMN_WITH_ANOTHER_QUALIFIER, prewriteTs - 5);
  checkAndCloseScanner(scanner);
  // delete and put both after prewriteTs
  writeDeleteAfterPut(COLUMN_WITH_ANOTHER_FAMILY, prewriteTs + 1, commitTs + 1);
  writePutAfterDelete(COLUMN_WITH_ANOTHER_QUALIFIER, prewriteTs + 1, commitTs + 1);
  scanner = prepareScanner(scanColumns);
  result = scanner.next();
  checkReadColumnResultWithTs(result, COLUMN_WITH_ANOTHER_FAMILY, prewriteTs - 2);
  checkAndCloseScanner(scanner);
}