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