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