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.util.ArrayList;
20 import java.util.List;
21
22 import junit.framework.TestSuite;
23 import junit.textui.TestRunner;
24
25 public class AndFileFilterTestCase extends ConditionalFileFilterAbstractTestCase {
26
27 private static final String DEFAULT_WORKING_PATH = "./AndFileFilterTestCase/";
28 private static final String WORKING_PATH_NAME_PROPERTY_KEY = AndFileFilterTestCase.class.getName() + ".workingDirectory";
29
30 public static void main(final String[] args) {
31 TestRunner.run(suite());
32 }
33
34 public static TestSuite suite() {
35 return new TestSuite(AndFileFilterTestCase.class);
36 }
37
38 private List testFilters;
39 private List testTrueResults;
40 private List testFalseResults;
41 private List testFileResults;
42 private List testFilenameResults;
43
44 public AndFileFilterTestCase(final String name) {
45 super(name);
46 }
47
48 public void setUp() throws Exception {
49 super.setUp();
50 this.setUpTestFilters();
51 }
52
53 protected IOFileFilter buildFilterUsingAdd(final List filters) {
54 AndFileFilter filter = new AndFileFilter();
55 for(int i = 0; i < filters.size(); i++) {
56 filter.addFileFilter((IOFileFilter) filters.get(i));
57 }
58 return filter;
59 }
60
61 protected IOFileFilter buildFilterUsingConstructor(final List filters) {
62 return new AndFileFilter(filters);
63 }
64
65 protected ConditionalFileFilter getConditionalFileFilter() {
66 return new AndFileFilter();
67 }
68
69 protected String getDefaultWorkingPath() {
70 return DEFAULT_WORKING_PATH;
71 }
72
73 protected List getFalseResults() {
74 return this.testFalseResults;
75 }
76
77 protected List getFileResults() {
78 return this.testFileResults;
79 }
80
81 protected List getFilenameResults() {
82 return this.testFilenameResults;
83 }
84
85 protected List getTestFilters() {
86 return this.testFilters;
87 }
88
89 protected List getTrueResults() {
90 return this.testTrueResults;
91 }
92
93 protected String getWorkingPathNamePropertyKey() {
94 return WORKING_PATH_NAME_PROPERTY_KEY;
95 }
96
97 private void setUpTestFilters() {
98
99
100 this.testFilters = new ArrayList();
101 this.testTrueResults = new ArrayList();
102 this.testFalseResults = new ArrayList();
103 this.testFileResults = new ArrayList();
104 this.testFilenameResults = new ArrayList();
105
106
107 {
108 testFilters.add(0, null);
109 testTrueResults.add(0, null);
110 testFalseResults.add(0, null);
111 testFileResults.add(0, null);
112 testFilenameResults.add(0, null);
113 }
114
115
116 {
117
118 List filters = new ArrayList();
119 filters.add(trueFilters[1]);
120 filters.add(trueFilters[2]);
121 filters.add(trueFilters[3]);
122
123 boolean[] trueResults = new boolean[] {true, true, true};
124
125 boolean[] falseResults = new boolean[] {false, false, false};
126
127 testFilters.add(1, filters);
128 testTrueResults.add(1, trueResults);
129 testFalseResults.add(1, falseResults);
130 testFileResults.add(1, Boolean.TRUE);
131 testFilenameResults.add(1, Boolean.TRUE);
132 }
133
134
135 {
136
137 List filters = new ArrayList();
138 filters.add(falseFilters[1]);
139 filters.add(trueFilters[1]);
140 filters.add(trueFilters[2]);
141 filters.add(trueFilters[3]);
142 filters.add(falseFilters[2]);
143 filters.add(falseFilters[3]);
144
145 boolean[] trueResults = new boolean[] {false, false, false};
146
147 boolean[] falseResults = new boolean[] {true, false, false};
148
149 testFilters.add(2, filters);
150 testTrueResults.add(2, trueResults);
151 testFalseResults.add(2, falseResults);
152 testFileResults.add(2, Boolean.FALSE);
153 testFilenameResults.add(2, Boolean.FALSE);
154 }
155
156
157 {
158
159 List filters = new ArrayList();
160 filters.add(trueFilters[1]);
161 filters.add(falseFilters[1]);
162 filters.add(trueFilters[2]);
163 filters.add(trueFilters[3]);
164 filters.add(falseFilters[2]);
165 filters.add(falseFilters[3]);
166
167 boolean[] trueResults = new boolean[] {true, false, false};
168
169 boolean[] falseResults = new boolean[] {true, false, false};
170
171 testFilters.add(3, filters);
172 testTrueResults.add(3, trueResults);
173 testFalseResults.add(3, falseResults);
174 testFileResults.add(3, Boolean.FALSE);
175 testFilenameResults.add(3, Boolean.FALSE);
176 }
177
178
179 {
180
181 List filters = new ArrayList();
182 filters.add(trueFilters[1]);
183 filters.add(trueFilters[2]);
184 filters.add(falseFilters[1]);
185 filters.add(trueFilters[3]);
186 filters.add(falseFilters[2]);
187 filters.add(falseFilters[3]);
188
189 boolean[] trueResults = new boolean[] {true, true, false};
190
191 boolean[] falseResults = new boolean[] {true, false, false};
192
193 testFilters.add(4, filters);
194 testTrueResults.add(4, trueResults);
195 testFalseResults.add(4, falseResults);
196 testFileResults.add(4, Boolean.FALSE);
197 testFilenameResults.add(4, Boolean.FALSE);
198 }
199
200
201 {
202
203 List filters = new ArrayList();
204 filters.add(falseFilters[1]);
205 filters.add(trueFilters[1]);
206 filters.add(falseFilters[2]);
207 filters.add(falseFilters[3]);
208 filters.add(trueFilters[2]);
209 filters.add(trueFilters[3]);
210
211 boolean[] trueResults = new boolean[] {false, false, false};
212
213 boolean[] falseResults = new boolean[] {true, false, false};
214
215 testFilters.add(5, filters);
216 testTrueResults.add(5, trueResults);
217 testFalseResults.add(5, falseResults);
218 testFileResults.add(5, Boolean.FALSE);
219 testFilenameResults.add(5, Boolean.FALSE);
220 }
221
222
223 {
224 List filters = new ArrayList();
225 filters.add(trueFilters[1]);
226 filters.add(falseFilters[1]);
227 filters.add(falseFilters[2]);
228 filters.add(trueFilters[2]);
229 filters.add(trueFilters[3]);
230 filters.add(falseFilters[3]);
231
232 boolean[] trueResults = new boolean[] {true, false, false};
233
234 boolean[] falseResults = new boolean[] {true, false, false};
235
236 testFilters.add(6, filters);
237 testTrueResults.add(6, trueResults);
238 testFalseResults.add(6, falseResults);
239 testFileResults.add(6, Boolean.FALSE);
240 testFilenameResults.add(6, Boolean.FALSE);
241 }
242
243
244 {
245 List filters = new ArrayList();
246 filters.add(falseFilters[1]);
247 filters.add(falseFilters[2]);
248 filters.add(trueFilters[3]);
249 filters.add(falseFilters[3]);
250 filters.add(trueFilters[2]);
251 filters.add(trueFilters[3]);
252
253 boolean[] trueResults = new boolean[] {false, false, false};
254
255 boolean[] falseResults = new boolean[] {true, false, false};
256
257 testFilters.add(7, filters);
258 testTrueResults.add(7, trueResults);
259 testFalseResults.add(7, falseResults);
260 testFileResults.add(7, Boolean.FALSE);
261 testFilenameResults.add(7, Boolean.FALSE);
262 }
263
264
265 {
266 List filters = new ArrayList();
267 filters.add(trueFilters[1]);
268 filters.add(trueFilters[2]);
269 filters.add(trueFilters[3]);
270 filters.add(falseFilters[1]);
271
272 boolean[] trueResults = new boolean[] {true, true, true};
273
274 boolean[] falseResults = new boolean[] {true, false, false};
275
276 testFilters.add(8, filters);
277 testTrueResults.add(8, trueResults);
278 testFalseResults.add(8, falseResults);
279 testFileResults.add(8, Boolean.FALSE);
280 testFilenameResults.add(8, Boolean.FALSE);
281 }
282
283
284 {
285 List filters = new ArrayList();
286 filters.add(falseFilters[1]);
287 filters.add(falseFilters[2]);
288 filters.add(falseFilters[3]);
289
290 boolean[] trueResults = new boolean[] {false, false, false};
291
292 boolean[] falseResults = new boolean[] {true, false, false};
293
294 testFilters.add(9, filters);
295 testTrueResults.add(9, trueResults);
296 testFalseResults.add(9, falseResults);
297 testFileResults.add(9, Boolean.FALSE);
298 testFilenameResults.add(9, Boolean.FALSE);
299 }
300 }
301 }