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