@Test public void testFilterBuiltUsingConstructor() 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); // Test conditional AND filter created by passing filters to the constructor final IOFileFilter filter = this.buildFilterUsingConstructor(filters); // Test as a file filter resetTrueFilters(this.trueFilters); resetFalseFilters(this.falseFilters); assertFileFiltering(i, filter, this.file, fileResults); assertTrueFiltersInvoked(i, trueFilters, trueResults); assertFalseFiltersInvoked(i, falseFilters, falseResults); // Test as a filename filter resetTrueFilters(this.trueFilters); resetFalseFilters(this.falseFilters); assertFilenameFiltering(i, filter, this.file, filenameResults); assertTrueFiltersInvoked(i, trueFilters, trueResults); assertFalseFiltersInvoked(i, falseFilters, falseResults); } }
@Test public void testNoFilters() throws Exception { final ConditionalFileFilter fileFilter = this.getConditionalFileFilter(); final File file = new File(this.workingPath, TEST_FILE_NAME_PREFIX + 1 + TEST_FILE_TYPE); assertFileFiltering(1, (IOFileFilter) fileFilter, file, false); assertFilenameFiltering(1, (IOFileFilter) fileFilter, file, false); }
@Before public void setUp() throws Exception { this.workingPath = determineWorkingDirectoryPath(this.getWorkingPathNamePropertyKey(), this.getDefaultWorkingPath()); this.file = new File(this.workingPath, TEST_FILE_NAME_PREFIX + 1 + TEST_FILE_TYPE); this.trueFilters = new TesterTrueFileFilter[4]; this.falseFilters = new TesterFalseFileFilter[4]; this.trueFilters[1] = new TesterTrueFileFilter(); this.trueFilters[2] = new TesterTrueFileFilter(); this.trueFilters[3] = new TesterTrueFileFilter(); this.falseFilters[1] = new TesterFalseFileFilter(); this.falseFilters[2] = new TesterFalseFileFilter(); this.falseFilters[3] = new TesterFalseFileFilter(); }
@Test public void testRemove() { final List<TesterTrueFileFilter> filters = new ArrayList<>(); final ConditionalFileFilter fileFilter = this.getConditionalFileFilter(); filters.add(new TesterTrueFileFilter()); filters.add(new TesterTrueFileFilter()); filters.add(new TesterTrueFileFilter()); filters.add(new TesterTrueFileFilter()); for (final TesterTrueFileFilter filter : filters) { fileFilter.removeFileFilter(filter); assertTrue("file filter removed", !fileFilter.getFileFilters().contains(filter)); } assertEquals("file filters count", 0, fileFilter.getFileFilters().size()); }
@Test public void testAdd() { final List<TesterTrueFileFilter> filters = new ArrayList<>(); final ConditionalFileFilter fileFilter = this.getConditionalFileFilter(); filters.add(new TesterTrueFileFilter()); filters.add(new TesterTrueFileFilter()); filters.add(new TesterTrueFileFilter()); filters.add(new TesterTrueFileFilter()); for (int i = 0; i < filters.size(); i++) { assertEquals("file filters count: ", i, fileFilter.getFileFilters().size()); fileFilter.addFileFilter(filters.get(i)); assertEquals("file filters count: ", i + 1, fileFilter.getFileFilters().size()); } for (final IOFileFilter filter : fileFilter.getFileFilters()) { assertTrue("found file filter", filters.contains(filter)); } assertEquals("file filters count", filters.size(), fileFilter.getFileFilters().size()); }
@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); // Test conditional AND filter created by passing filters to the constructor final IOFileFilter filter = this.buildFilterUsingAdd(filters); // Test as a file filter resetTrueFilters(this.trueFilters); resetFalseFilters(this.falseFilters); assertFileFiltering(i, filter, this.file, fileResults); assertTrueFiltersInvoked(i, trueFilters, trueResults); assertFalseFiltersInvoked(i, falseFilters, falseResults); // Test as a filename filter resetTrueFilters(this.trueFilters); resetFalseFilters(this.falseFilters); assertFilenameFiltering(i, filter, this.file, filenameResults); assertTrueFiltersInvoked(i, trueFilters, trueResults); assertFalseFiltersInvoked(i, falseFilters, falseResults); } }