@Test
public void testProcessAnswerTableFiltered() {
String columnName = "val";
TableAnswerElement table =
new TableAnswerElement(
new TableMetadata(
ImmutableList.of(new ColumnMetadata(columnName, Schema.STRING, "foobar"))));
String whitelistedValue = "hello";
Row row1 = Row.of(columnName, whitelistedValue);
Row row2 = Row.of(columnName, "goodbye");
table.addRow(row1);
table.addRow(row2);
AnswerRowsOptions optionsNotFiltered =
new AnswerRowsOptions(
ImmutableSet.of(), ImmutableList.of(), Integer.MAX_VALUE, 0, ImmutableList.of(), false);
AnswerRowsOptions optionsFiltered =
new AnswerRowsOptions(
ImmutableSet.of(),
ImmutableList.of(new ColumnFilter(columnName, whitelistedValue)),
Integer.MAX_VALUE,
0,
ImmutableList.of(),
false);
TableAnswerElement notFiltered = _manager.processAnswerTable(table, optionsNotFiltered);
TableAnswerElement filtered = _manager.processAnswerTable(table, optionsFiltered);
assertThat(notFiltered.getRowsList(), equalTo(ImmutableList.of(row1, row2)));
assertThat(filtered.getRowsList(), equalTo(ImmutableList.of(row1)));
assertThat(notFiltered.getSummary().getNumResults(), equalTo(2));
assertThat(filtered.getSummary().getNumResults(), equalTo(1));
}