|
What this is
Other links
The source code
/*
* Copyright 2002-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.commons.io.filefilter;
import java.io.File;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
/**
* Used to test an unknown FileFilter
*/
public class FileFilterTestCase extends TestCase {
public FileFilterTestCase(String name) {
super(name);
}
public static void main(String[] args) {
TestRunner.run(suite());
}
public static TestSuite suite() {
return new TestSuite(FileFilterTestCase.class);
}
public void setUp() {
}
public void tearDown() {
}
public void assertFiltering(IOFileFilter filter, File file, boolean expected) throws Exception {
// Note. This only tests the (File, String) version if the parent of
// the File passed in is not null
assertTrue(
"Filter(File) " + filter.getClass().getName() + " not " + expected + " for " + file,
(filter.accept(file) == expected));
if (file != null && file.getParentFile() != null) {
assertTrue(
"Filter(File, String) " + filter.getClass().getName() + " not " + expected + " for " + file,
(filter.accept(file.getParentFile(), file.getName()) == expected));
} else if (file == null) {
assertTrue(
"Filter(File, String) " + filter.getClass().getName() + " not " + expected + " for null",
filter.accept(file) == expected);
}
}
public void testSuffix() throws Exception {
IOFileFilter filter = new SuffixFileFilter(new String[] { "tes", "est" });
assertFiltering(filter, new File("fred.tes"), true);
assertFiltering(filter, new File("fred.est"), true);
assertFiltering(filter, new File("fred.EST"), false); //case-sensitive
assertFiltering(filter, new File("fred.exe"), false);
assertFiltering(filter, new File("fred"), false);
assertFiltering(filter, new File(".tes"), true);
assertFiltering(filter, new File("fred.test"), true);
filter = new SuffixFileFilter("est");
assertFiltering(filter, new File("test"), true);
assertFiltering(filter, new File("fred"), false);
try {
new SuffixFileFilter((String) null);
fail();
} catch (IllegalArgumentException ex) {
}
}
public void testDirectory() throws Exception {
IOFileFilter filter = new DirectoryFileFilter();
assertFiltering(filter, new File("src/"), true);
assertFiltering(filter, new File("src/java/"), true);
assertFiltering(filter, new File("project.xml"), false);
assertFiltering(filter, new File("imaginary"), false);
assertFiltering(filter, new File("imaginary/"), false);
assertFiltering(filter, new File("STATUS.html"), false);
}
public void testPrefix() throws Exception {
IOFileFilter filter = new PrefixFileFilter(new String[] { "foo", "bar" });
assertFiltering(filter, new File("foo.test"), true);
assertFiltering(filter, new File("FOO.test"), false); //case-sensitive
assertFiltering(filter, new File("foo"), true);
assertFiltering(filter, new File("bar"), true);
assertFiltering(filter, new File("food/"), true);
assertFiltering(filter, new File("barred\\"), true);
assertFiltering(filter, new File("test"), false);
assertFiltering(filter, new File("fo_o.test"), false);
assertFiltering(filter, new File("abar.exe"), false);
filter = new PrefixFileFilter("tes");
assertFiltering(filter, new File("test"), true);
assertFiltering(filter, new File("fred"), false);
try {
new PrefixFileFilter((String) null);
fail();
} catch (IllegalArgumentException ex) {
}
}
public void testNameFilter() throws Exception {
IOFileFilter filter = new NameFileFilter(new String[] { "foo", "bar" });
assertFiltering(filter, new File("foo"), true);
assertFiltering(filter, new File("bar"), true);
assertFiltering(filter, new File("fred"), false);
// repeat for a List
java.util.ArrayList list = new java.util.ArrayList();
list.add("foo");
list.add("bar");
filter = new NameFileFilter(list);
assertFiltering(filter, new File("foo"), true);
assertFiltering(filter, new File("bar"), true);
assertFiltering(filter, new File("fred"), false);
filter = new NameFileFilter("foo");
assertFiltering(filter, new File("foo"), true);
assertFiltering(filter, new File("FOO"), false); //case-sensitive
assertFiltering(filter, new File("barfoo"), false);
assertFiltering(filter, new File("foobar"), false);
assertFiltering(filter, new File("fred"), false);
}
public void testTrue() throws Exception {
IOFileFilter filter = FileFilterUtils.trueFileFilter();
assertFiltering(filter, new File("foo.test"), true);
assertFiltering(filter, new File("foo"), true);
assertFiltering(filter, null, true);
}
public void testFalse() throws Exception {
IOFileFilter filter = FileFilterUtils.falseFileFilter();
assertFiltering(filter, new File("foo.test"), false);
assertFiltering(filter, new File("foo"), false);
assertFiltering(filter, null, false);
}
public void testNot() throws Exception {
IOFileFilter filter = FileFilterUtils.notFileFilter(FileFilterUtils.trueFileFilter());
assertFiltering(filter, new File("foo.test"), false);
assertFiltering(filter, new File("foo"), false);
assertFiltering(filter, null, false);
try {
new NotFileFilter(null);
fail();
} catch (IllegalArgumentException ex) {
}
}
public void testAnd() throws Exception {
IOFileFilter trueFilter = TrueFileFilter.INSTANCE;
IOFileFilter falseFilter = FalseFileFilter.INSTANCE;
assertFiltering(new AndFileFilter(trueFilter, trueFilter), new File("foo.test"), true);
assertFiltering(new AndFileFilter(trueFilter, falseFilter), new File("foo.test"), false);
assertFiltering(new AndFileFilter(falseFilter, trueFilter), new File("foo.test"), false);
assertFiltering(new AndFileFilter(falseFilter, falseFilter), new File("foo.test"), false);
try {
new AndFileFilter(falseFilter, null);
fail();
} catch (IllegalArgumentException ex) {
}
}
public void testOr() throws Exception {
IOFileFilter trueFilter = TrueFileFilter.INSTANCE;
IOFileFilter falseFilter = FalseFileFilter.INSTANCE;
assertFiltering(new OrFileFilter(trueFilter, trueFilter), new File("foo.test"), true);
assertFiltering(new OrFileFilter(trueFilter, falseFilter), new File("foo.test"), true);
assertFiltering(new OrFileFilter(falseFilter, trueFilter), new File("foo.test"), true);
assertFiltering(new OrFileFilter(falseFilter, falseFilter), new File("foo.test"), false);
try {
new OrFileFilter(falseFilter, null);
fail();
} catch (IllegalArgumentException ex) {
}
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.