@Test
public void testFilterBuiltUsingAdd() throws Exception {
final List<List<IOFileFilter>> testFilters = this.getTestFilters();
final List<boolean[]> testTrueResults = this.getTrueResults();
final List<boolean[]> testFalseResults = this.getFalseResults();
final List<Boolean> testFileResults = this.getFileResults();
final List<Boolean> testFilenameResults = this.getFilenameResults();
for (int i = 1; i < testFilters.size(); i++) {
final List<IOFileFilter> filters = testFilters.get(i);
final boolean[] trueResults = testTrueResults.get(i);
final boolean[] falseResults = testFalseResults.get(i);
final boolean fileResults = testFileResults.get(i);
final boolean filenameResults = testFilenameResults.get(i);
final IOFileFilter filter = this.buildFilterUsingAdd(filters);
resetTrueFilters(this.trueFilters);
resetFalseFilters(this.falseFilters);
assertFileFiltering(i, filter, this.file, fileResults);
assertTrueFiltersInvoked(i, trueFilters, trueResults);
assertFalseFiltersInvoked(i, falseFilters, falseResults);
resetTrueFilters(this.trueFilters);
resetFalseFilters(this.falseFilters);
assertFilenameFiltering(i, filter, this.file, filenameResults);
assertTrueFiltersInvoked(i, trueFilters, trueResults);
assertFalseFiltersInvoked(i, falseFilters, falseResults);
}
}