You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2010/01/10 01:48:55 UTC
svn commit: r897583 -
/commons/proper/io/trunk/src/test/org/apache/commons/io/DirectoryWalkerTestCase.java
Author: sebb
Date: Sun Jan 10 00:48:55 2010
New Revision: 897583
URL: http://svn.apache.org/viewvc?rev=897583&view=rev
Log:
Test File filtering using a String results list
Modified:
commons/proper/io/trunk/src/test/org/apache/commons/io/DirectoryWalkerTestCase.java
Modified: commons/proper/io/trunk/src/test/org/apache/commons/io/DirectoryWalkerTestCase.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/org/apache/commons/io/DirectoryWalkerTestCase.java?rev=897583&r1=897582&r2=897583&view=diff
==============================================================================
--- commons/proper/io/trunk/src/test/org/apache/commons/io/DirectoryWalkerTestCase.java (original)
+++ commons/proper/io/trunk/src/test/org/apache/commons/io/DirectoryWalkerTestCase.java Sun Jan 10 00:48:55 2010
@@ -241,6 +241,12 @@
}
}
+ private void checkContainsString(String prefix, File[] files, Collection<String> results) {
+ for (int i = 0; i < files.length; i++) {
+ assertTrue(prefix + "["+i+"] " + files[i], results.contains(files[i].toString()));
+ }
+ }
+
/**
* Extract the directories.
*/
@@ -365,6 +371,16 @@
}
+ /**
+ * Test Filtering
+ */
+ public void testFilterString() {
+ List<String> results = new TestFileFinderString(dirsAndFilesFilter, -1).find(javaDir);
+ assertEquals("Result Size", (outputFiles.length + ioFiles.length), results.size());
+ checkContainsString("IO File", ioFiles, results);
+ checkContainsString("Output File", outputFiles, results);
+ }
+
// ------------ Test DirectoryWalker implementation --------------------------
/**
@@ -534,4 +550,32 @@
}
}
+ /**
+ * Test DirectoryWalker implementation that finds files in a directory hierarchy
+ * applying a file filter.
+ */
+ private static class TestFileFinderString extends DirectoryWalker<String> {
+
+ protected TestFileFinderString(FileFilter filter, int depthLimit) {
+ super(filter, depthLimit);
+ }
+
+ /** find files. */
+ protected List<String> find(File startDirectory) {
+ List<String> results = new ArrayList<String>();
+ try {
+ walk(startDirectory, results);
+ } catch(IOException ex) {
+ Assert.fail(ex.toString());
+ }
+ return results;
+ }
+
+ /** Handles a file by adding the File to the result set. */
+ @Override
+ protected void handleFile(File file, int depth, Collection<String> results) {
+ results.add(file.toString());
+ }
+ }
+
}