1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
package org.qedeq.base.io; |
17 |
|
|
18 |
|
import org.qedeq.base.test.QedeqTestCase; |
19 |
|
|
20 |
|
|
21 |
|
@link |
22 |
|
|
23 |
|
@author |
24 |
|
|
|
|
| 98.8% |
Uncovered Elements: 2 (163) |
Complexity: 8 |
Complexity Density: 0.05 |
|
25 |
|
public class PathTest extends QedeqTestCase { |
26 |
|
|
27 |
|
|
28 |
|
|
29 |
|
|
30 |
|
@throws |
31 |
|
|
|
|
| 98.1% |
Uncovered Elements: 1 (52) |
Complexity: 2 |
Complexity Density: 0.04 |
1
PASS
|
|
32 |
1
|
public void testConstructor1() throws Exception {... |
33 |
|
{ |
34 |
1
|
final Path p1 = new Path("a/b/c"); |
35 |
1
|
assertEquals("a/b/", p1.getDirectory()); |
36 |
1
|
assertEquals("c", p1.getFileName()); |
37 |
1
|
assertEquals(false, p1.isAbsolute()); |
38 |
1
|
assertEquals(true, p1.isRelative()); |
39 |
1
|
assertEquals("a/b/c", p1.toString()); |
40 |
1
|
assertEquals(false, p1.isDirectory()); |
41 |
|
} |
42 |
|
{ |
43 |
1
|
final Path p1 = new Path("a/b/./c"); |
44 |
1
|
assertEquals("a/b/", p1.getDirectory()); |
45 |
1
|
assertEquals("c", p1.getFileName()); |
46 |
1
|
assertEquals(false, p1.isAbsolute()); |
47 |
1
|
assertEquals(true, p1.isRelative()); |
48 |
1
|
assertEquals("a/b/c", p1.toString()); |
49 |
1
|
assertEquals(false, p1.isDirectory()); |
50 |
|
} |
51 |
|
{ |
52 |
1
|
final Path p1 = new Path("/a/b/c/"); |
53 |
1
|
assertEquals("/a/b/c/", p1.getDirectory()); |
54 |
1
|
assertEquals("", p1.getFileName()); |
55 |
1
|
assertEquals(true, p1.isAbsolute()); |
56 |
1
|
assertEquals(false, p1.isRelative()); |
57 |
1
|
assertEquals("/a/b/c/", p1.toString()); |
58 |
1
|
assertEquals(true, p1.isDirectory()); |
59 |
|
} |
60 |
|
{ |
61 |
1
|
final Path p1 = new Path(""); |
62 |
1
|
assertEquals("", p1.getDirectory()); |
63 |
1
|
assertEquals("", p1.getFileName()); |
64 |
1
|
assertEquals(false, p1.isAbsolute()); |
65 |
1
|
assertEquals(true, p1.isRelative()); |
66 |
1
|
assertEquals("", p1.toString()); |
67 |
1
|
assertEquals(true, p1.isDirectory()); |
68 |
|
} |
69 |
1
|
try { |
70 |
1
|
new Path(null); |
71 |
0
|
fail("RuntimeException expected"); |
72 |
|
} catch (RuntimeException e) { |
73 |
|
|
74 |
|
} |
75 |
|
{ |
76 |
1
|
final Path p1 = new Path("a/b/c/../../d/e"); |
77 |
1
|
assertEquals("a/d/", p1.getDirectory()); |
78 |
1
|
assertEquals("e", p1.getFileName()); |
79 |
1
|
assertEquals(false, p1.isAbsolute()); |
80 |
1
|
assertEquals(true, p1.isRelative()); |
81 |
1
|
assertEquals("a/d/e", p1.toString()); |
82 |
1
|
assertEquals(false, p1.isDirectory()); |
83 |
|
} |
84 |
|
{ |
85 |
1
|
final Path p1 = new Path("a/b/c/../../../d/e/"); |
86 |
1
|
assertEquals("d/e/", p1.getDirectory()); |
87 |
1
|
assertEquals("", p1.getFileName()); |
88 |
1
|
assertEquals(false, p1.isAbsolute()); |
89 |
1
|
assertEquals(true, p1.isRelative()); |
90 |
1
|
assertEquals("d/e/", p1.toString()); |
91 |
1
|
assertEquals(true, p1.isDirectory()); |
92 |
|
} |
93 |
|
{ |
94 |
1
|
final Path p1 = new Path("a/b/./c/../../../d/e/"); |
95 |
1
|
assertEquals("d/e/", p1.getDirectory()); |
96 |
1
|
assertEquals("", p1.getFileName()); |
97 |
1
|
assertEquals(false, p1.isAbsolute()); |
98 |
1
|
assertEquals(true, p1.isRelative()); |
99 |
1
|
assertEquals("d/e/", p1.toString()); |
100 |
1
|
assertEquals(true, p1.isDirectory()); |
101 |
|
} |
102 |
|
} |
103 |
|
|
104 |
|
|
105 |
|
|
106 |
|
|
107 |
|
@throws |
108 |
|
|
|
|
| 96.8% |
Uncovered Elements: 1 (31) |
Complexity: 2 |
Complexity Density: 0.06 |
1
PASS
|
|
109 |
1
|
public void testConstructor2() throws Exception {... |
110 |
|
{ |
111 |
1
|
final Path p1 = new Path("a/b/c/", ""); |
112 |
1
|
assertEquals("a/b/c/", p1.getDirectory()); |
113 |
1
|
assertEquals("", p1.getFileName()); |
114 |
1
|
assertEquals(false, p1.isAbsolute()); |
115 |
1
|
assertEquals(true, p1.isRelative()); |
116 |
1
|
assertEquals("a/b/c/", p1.toString()); |
117 |
1
|
assertEquals(true, p1.isDirectory()); |
118 |
|
} |
119 |
|
{ |
120 |
1
|
final Path p1 = new Path("a/b/c", ""); |
121 |
1
|
assertEquals("a/b/c/", p1.getDirectory()); |
122 |
1
|
assertEquals("", p1.getFileName()); |
123 |
1
|
assertEquals(false, p1.isAbsolute()); |
124 |
1
|
assertEquals(true, p1.isRelative()); |
125 |
1
|
assertEquals("a/b/c/", p1.toString()); |
126 |
1
|
assertEquals(true, p1.isDirectory()); |
127 |
|
} |
128 |
|
{ |
129 |
1
|
final Path p1 = new Path("a/b/c", null); |
130 |
1
|
assertEquals("a/b/c/", p1.getDirectory()); |
131 |
1
|
assertEquals("", p1.getFileName()); |
132 |
1
|
assertEquals(false, p1.isAbsolute()); |
133 |
1
|
assertEquals(true, p1.isRelative()); |
134 |
1
|
assertEquals("a/b/c/", p1.toString()); |
135 |
1
|
assertEquals(true, p1.isDirectory()); |
136 |
|
} |
137 |
|
{ |
138 |
1
|
final Path p1 = new Path("a/b/c", "d"); |
139 |
1
|
assertEquals("a/b/c/", p1.getDirectory()); |
140 |
1
|
assertEquals("d", p1.getFileName()); |
141 |
1
|
assertEquals(false, p1.isAbsolute()); |
142 |
1
|
assertEquals(true, p1.isRelative()); |
143 |
1
|
assertEquals("a/b/c/d", p1.toString()); |
144 |
1
|
assertEquals(false, p1.isDirectory()); |
145 |
|
} |
146 |
1
|
try { |
147 |
1
|
new Path((String[]) null, ""); |
148 |
0
|
fail("RuntimeException expected"); |
149 |
|
} catch (RuntimeException e) { |
150 |
|
|
151 |
|
} |
152 |
|
} |
153 |
|
|
154 |
|
|
155 |
|
|
156 |
|
|
157 |
|
@throws |
158 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (30) |
Complexity: 1 |
Complexity Density: 0.03 |
1
PASS
|
|
159 |
1
|
public void testConstructor3() throws Exception {... |
160 |
|
{ |
161 |
1
|
final Path p1 = new Path(new String[] {"a", "b", "c"}, ""); |
162 |
1
|
assertEquals("a/b/c/", p1.getDirectory()); |
163 |
1
|
assertEquals("", p1.getFileName()); |
164 |
1
|
assertEquals(false, p1.isAbsolute()); |
165 |
1
|
assertEquals(true, p1.isRelative()); |
166 |
1
|
assertEquals("a/b/c/", p1.toString()); |
167 |
1
|
assertEquals(true, p1.isDirectory()); |
168 |
|
} |
169 |
|
{ |
170 |
1
|
final Path p1 = new Path(new String[] {"", "a", "b", "c"}, ""); |
171 |
1
|
assertEquals("/a/b/c/", p1.getDirectory()); |
172 |
1
|
assertEquals("", p1.getFileName()); |
173 |
1
|
assertEquals(true, p1.isAbsolute()); |
174 |
1
|
assertEquals(false, p1.isRelative()); |
175 |
1
|
assertEquals("/a/b/c/", p1.toString()); |
176 |
1
|
assertEquals(true, p1.isDirectory()); |
177 |
|
} |
178 |
|
{ |
179 |
1
|
final Path p1 = new Path(new String[] {"a", "b", "c"}, null); |
180 |
1
|
assertEquals("a/b/c/", p1.getDirectory()); |
181 |
1
|
assertEquals("", p1.getFileName()); |
182 |
1
|
assertEquals(false, p1.isAbsolute()); |
183 |
1
|
assertEquals(true, p1.isRelative()); |
184 |
1
|
assertEquals("a/b/c/", p1.toString()); |
185 |
1
|
assertEquals(true, p1.isDirectory()); |
186 |
1
|
assertEquals(false, p1.isFile()); |
187 |
|
} |
188 |
|
{ |
189 |
1
|
final Path p1 = new Path(new String[] {"a", "b", "c"}, "d"); |
190 |
1
|
assertEquals("a/b/c/", p1.getDirectory()); |
191 |
1
|
assertEquals("d", p1.getFileName()); |
192 |
1
|
assertEquals(false, p1.isAbsolute()); |
193 |
1
|
assertEquals(true, p1.isRelative()); |
194 |
1
|
assertEquals("a/b/c/d", p1.toString()); |
195 |
1
|
assertEquals(false, p1.isDirectory()); |
196 |
1
|
assertEquals(true, p1.isFile()); |
197 |
|
} |
198 |
|
} |
199 |
|
|
200 |
|
|
201 |
|
|
202 |
|
|
203 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (18) |
Complexity: 1 |
Complexity Density: 0.06 |
1
PASS
|
|
204 |
1
|
public void testCreateRelative() throws Exception {... |
205 |
|
{ |
206 |
1
|
final Path p1 = new Path("/a/b/c"); |
207 |
1
|
assertEquals("d", p1.createRelative("/a/b/d").toString()); |
208 |
|
} |
209 |
|
{ |
210 |
1
|
final Path p1 = new Path("/a/b/c/"); |
211 |
1
|
assertEquals("d/e", p1.createRelative("d/e").toString()); |
212 |
|
} |
213 |
|
{ |
214 |
1
|
final Path p1 = new Path("/a/b/c/"); |
215 |
1
|
assertEquals("d/", p1.createRelative("d/").toString()); |
216 |
|
} |
217 |
|
{ |
218 |
1
|
final Path p1 = new Path("/a/b/c/"); |
219 |
1
|
assertEquals("../../../d/", p1.createRelative("/d/").toString()); |
220 |
|
} |
221 |
|
{ |
222 |
1
|
final Path p1 = new Path("a/b/c/"); |
223 |
1
|
assertEquals("/d", p1.createRelative("/d").toString()); |
224 |
|
} |
225 |
|
{ |
226 |
1
|
final Path p1 = new Path("a/b/c/"); |
227 |
1
|
assertEquals("/d/e", p1.createRelative("/d/e").toString()); |
228 |
|
} |
229 |
|
{ |
230 |
1
|
final Path p1 = new Path("a/b/c/"); |
231 |
1
|
assertEquals("a/b/d", p1.createRelative("a/b/d").toString()); |
232 |
|
} |
233 |
|
{ |
234 |
1
|
final Path p1 = new Path("/a/b/c/"); |
235 |
1
|
assertEquals("", p1.createRelative("/a/b/c/").toString()); |
236 |
|
} |
237 |
|
{ |
238 |
1
|
final Path p1 = new Path("/a/b/c/"); |
239 |
1
|
assertEquals("../d/e", p1.createRelative("/a/b/d/e").toString()); |
240 |
|
} |
241 |
|
} |
242 |
|
|
243 |
|
|
244 |
|
|
245 |
|
|
246 |
|
@throws |
247 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (21) |
Complexity: 1 |
Complexity Density: 0.05 |
1
PASS
|
|
248 |
1
|
public void testEquals1() throws Exception {... |
249 |
|
{ |
250 |
1
|
final Path p1 = new Path("a/b/c"); |
251 |
1
|
final Path p2 = new Path("a/b/c"); |
252 |
1
|
final Path p3 = new Path("a/d/c"); |
253 |
1
|
assertEquals(p1, p2); |
254 |
1
|
assertFalse(p1.equals(null)); |
255 |
1
|
assertFalse(p1.equals(p3)); |
256 |
1
|
assertFalse(p3.equals(p1)); |
257 |
|
} |
258 |
|
{ |
259 |
1
|
final Path p1 = new Path("a/b/c/"); |
260 |
1
|
final Path p2 = new Path("a/b/c/"); |
261 |
1
|
final Path p3 = new Path("a/d/c/"); |
262 |
1
|
assertEquals(p1, p2); |
263 |
1
|
assertFalse(p1.equals(null)); |
264 |
1
|
assertFalse(p1.equals(p3)); |
265 |
1
|
assertFalse(p3.equals(p1)); |
266 |
|
} |
267 |
|
{ |
268 |
1
|
final Path p1 = new Path("/a/b/c/"); |
269 |
1
|
final Path p2 = new Path("/a/b/c/"); |
270 |
1
|
final Path p3 = new Path("/a/d/c/"); |
271 |
1
|
assertEquals(p1, p2); |
272 |
1
|
assertFalse(p1.equals(null)); |
273 |
1
|
assertFalse(p1.equals(p3)); |
274 |
1
|
assertFalse(p3.equals(p1)); |
275 |
|
} |
276 |
|
} |
277 |
|
|
278 |
|
|
279 |
|
|
280 |
|
|
281 |
|
@throws |
282 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
1
PASS
|
|
283 |
1
|
public void testHashCode() throws Exception {... |
284 |
1
|
final Path p1 = new Path("a/b/c"); |
285 |
1
|
final Path p2 = new Path("a/b/c"); |
286 |
1
|
final Path p3 = new Path("a/d/c"); |
287 |
1
|
assertEquals(p1.hashCode(), p2.hashCode()); |
288 |
1
|
assertFalse(p1.hashCode() == p3.hashCode()); |
289 |
|
} |
290 |
|
|
291 |
|
|
292 |
|
} |