1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.io.filefilter;
18
19 import java.io.File;
20 import junit.framework.TestCase;
21
22 public abstract class IOFileFilterAbstractTestCase extends TestCase {
23
24
25
26
27
28 public IOFileFilterAbstractTestCase(final String name) {
29 super(name);
30 }
31
32 public boolean assertFileFiltering(final int testNumber, final IOFileFilter filter, final File file, final boolean expected)
33 throws Exception {
34 assertTrue(
35 "test " + testNumber + " Filter(File) " + filter.getClass().getName() + " not " + expected + " for " + file,
36 (filter.accept(file) == expected));
37 return true;
38 }
39
40 public boolean assertFilenameFiltering(final int testNumber, final IOFileFilter filter, final File file, final boolean expected)
41 throws Exception {
42
43 assertTrue(
44 "test " + testNumber + " Filter(File, String) " + filter.getClass().getName() + " not " + expected + " for " + file,
45 (filter.accept(file.getParentFile(), file.getName()) == expected));
46 return true;
47 }
48
49 public void assertFiltering(final int testNumber, final IOFileFilter filter, final File file, final boolean expected)
50 throws Exception {
51
52
53 assertTrue(
54 "test " + testNumber + " Filter(File) " + filter.getClass().getName() + " not " + expected + " for " + file,
55 (filter.accept(file) == expected));
56
57 if (file != null && file.getParentFile() != null) {
58 assertTrue(
59 "test " + testNumber + " Filter(File, String) " + filter.getClass().getName() + " not " + expected + " for " + file,
60 (filter.accept(file.getParentFile(), file.getName()) == expected));
61 }
62 else if (file == null) {
63 assertTrue(
64 "test " + testNumber + " Filter(File, String) " + filter.getClass().getName() + " not " + expected + " for null",
65 filter.accept(file) == expected);
66 }
67 }
68
69 public void assertTrueFiltersInvoked(final int testNumber, final TesterTrueFileFilter[] filters, final boolean[] invoked) {
70 for(int i = 1; i < filters.length; i++) {
71 assertEquals("test " + testNumber + " filter " + i + " invoked", invoked[i-1], filters[i].isInvoked());
72 }
73 }
74
75 public void assertFalseFiltersInvoked(final int testNumber, final TesterFalseFileFilter[] filters, final boolean[] invoked) {
76 for(int i = 1; i < filters.length; i++) {
77 assertEquals("test " + testNumber + " filter " + i + " invoked", invoked[i-1], filters[i].isInvoked());
78 }
79 }
80
81 public File determineWorkingDirectoryPath(final String key, final String defaultPath) {
82
83 String workingPathName = System.getProperty(key, defaultPath);
84 return new File(workingPathName);
85 }
86
87 public void resetFalseFilters(TesterFalseFileFilter[] filters) {
88 for(int i = 0; i < filters.length; i++) {
89 if(filters[i] != null) {
90 filters[i].reset();
91 }
92 }
93 }
94
95 public void resetTrueFilters(TesterTrueFileFilter[] filters) {
96 for(int i = 0; i < filters.length; i++) {
97 if(filters[i] != null) {
98 filters[i].reset();
99 }
100 }
101 }
102
103 class TesterTrueFileFilter extends TrueFileFilter {
104
105 private boolean invoked;
106
107 public boolean accept(File file) {
108 setInvoked(true);
109 return super.accept(file);
110 }
111
112 public boolean accept(File file, String str) {
113 setInvoked(true);
114 return super.accept(file, str);
115 }
116
117 public boolean isInvoked() {
118 return this.invoked;
119 }
120
121 public void setInvoked(boolean invoked) {
122 this.invoked = invoked;
123 }
124
125 public void reset() {
126 setInvoked(false);
127 }
128 }
129
130 class TesterFalseFileFilter extends FalseFileFilter {
131
132 private boolean invoked;
133
134 public boolean accept(File file) {
135 setInvoked(true);
136 return super.accept(file);
137 }
138
139 public boolean accept(File file, String str) {
140 setInvoked(true);
141 return super.accept(file, str);
142 }
143
144 public boolean isInvoked() {
145 return this.invoked;
146 }
147
148 public void setInvoked(boolean invoked) {
149 this.invoked = invoked;
150 }
151
152 public void reset() {
153 setInvoked(false);
154 }
155 }
156 }