@Test
public void testScanWithRowkeyFilter() throws Exception {

  prepareScanData(TRANSACTION_COLUMNS);
  
  ThemisScanner scanner = prepareScanner(TRANSACTION_COLUMNS, new PrefixFilter(ROW));
  checkResultForROW(scanner.next());
  checkAndCloseScanner(scanner);
  
  scanner = prepareScanner(TRANSACTION_COLUMNS, new PrefixFilter(ANOTHER_ROW));
  // should fetch 'AnotherRow' firstly
  checkScanRow(new ColumnCoordinate[]{COLUMN_WITH_ANOTHER_ROW}, scanner.next());
  checkAndCloseScanner(scanner);
  
  FilterList filterList = new FilterList();
  filterList.addFilter(new PrefixFilter(ROW));
  filterList.addFilter(new PrefixFilter(ANOTHER_ROW));
  scanner = prepareScanner(TRANSACTION_COLUMNS, filterList);
  checkAndCloseScanner(scanner);
  
  filterList = new FilterList(Operator.MUST_PASS_ONE);
  filterList.addFilter(new PrefixFilter(ROW));
  filterList.addFilter(new PrefixFilter(ANOTHER_ROW));
  scanner = prepareScanner(TRANSACTION_COLUMNS, filterList);
  // should fetch 'AnotherRow' firstly
  checkScanRow(new ColumnCoordinate[]{COLUMN_WITH_ANOTHER_ROW}, scanner.next());
  checkResultForROW(scanner.next());
  checkAndCloseScanner(scanner);
}