1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
package org.qedeq.kernel.se.common; |
17 |
|
|
18 |
|
import java.io.File; |
19 |
|
import java.net.MalformedURLException; |
20 |
|
import java.net.URL; |
21 |
|
|
22 |
|
import org.apache.commons.io.FilenameUtils; |
23 |
|
import org.apache.commons.lang.SystemUtils; |
24 |
|
import org.qedeq.base.io.Path; |
25 |
|
import org.qedeq.base.test.QedeqTestCase; |
26 |
|
import org.qedeq.base.utility.EqualsUtility; |
27 |
|
import org.qedeq.kernel.se.dto.module.LocationListVo; |
28 |
|
import org.qedeq.kernel.se.dto.module.LocationVo; |
29 |
|
import org.qedeq.kernel.se.dto.module.SpecificationVo; |
30 |
|
|
31 |
|
|
32 |
|
|
33 |
|
|
34 |
|
@author |
35 |
|
|
|
|
| 95.3% |
Uncovered Elements: 10 (215) |
Complexity: 23 |
Complexity Density: 0.12 |
|
36 |
|
public class DefaultModuleAddressTest extends QedeqTestCase { |
37 |
|
|
38 |
|
private DefaultModuleAddress dflt; |
39 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
40 |
0
|
public DefaultModuleAddressTest(){... |
41 |
0
|
super(); |
42 |
|
} |
43 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
44 |
12
|
public DefaultModuleAddressTest(final String name){... |
45 |
12
|
super(name); |
46 |
|
} |
47 |
|
|
48 |
|
|
49 |
|
|
50 |
|
|
|
|
| 93.6% |
Uncovered Elements: 6 (94) |
Complexity: 8 |
Complexity Density: 0.09 |
1
PASS
|
|
51 |
1
|
public void testConstructor() throws Exception {... |
52 |
1
|
try { |
53 |
1
|
dflt = new DefaultModuleAddress("memory"); |
54 |
|
} catch (MalformedURLException e) { |
55 |
|
|
56 |
|
} |
57 |
1
|
dflt = new DefaultModuleAddress(); |
58 |
1
|
assertEquals("default", dflt.getFileName()); |
59 |
1
|
assertEquals("memory:", dflt.getHeader()); |
60 |
1
|
assertEquals("default", dflt.getName()); |
61 |
1
|
assertEquals("", dflt.getPath()); |
62 |
1
|
assertEquals("memory://default", dflt.getUrl()); |
63 |
1
|
assertEquals(false, dflt.isFileAddress()); |
64 |
1
|
assertEquals(false, dflt.isRelativeAddress()); |
65 |
1
|
assertEquals(dflt, dflt.createModuleContext().getModuleLocation()); |
66 |
1
|
dflt = new DefaultModuleAddress(true, "uzsdaf234"); |
67 |
1
|
assertEquals("uzsdaf234", dflt.getFileName()); |
68 |
1
|
assertEquals("memory:", dflt.getHeader()); |
69 |
1
|
assertEquals("uzsdaf234", dflt.getName()); |
70 |
1
|
assertEquals("", dflt.getPath()); |
71 |
1
|
assertEquals("memory://uzsdaf234", dflt.getUrl()); |
72 |
1
|
assertEquals(false, dflt.isFileAddress()); |
73 |
1
|
assertEquals(false, dflt.isRelativeAddress()); |
74 |
1
|
assertEquals(dflt, dflt.createModuleContext().getModuleLocation()); |
75 |
1
|
dflt = new DefaultModuleAddress("hulouo.xml"); |
76 |
1
|
assertEquals("hulouo.xml", dflt.getFileName()); |
77 |
1
|
assertEquals("file://", dflt.getHeader()); |
78 |
1
|
assertEquals("hulouo", dflt.getName()); |
79 |
1
|
assertEquals("", dflt.getPath()); |
80 |
1
|
assertEquals("file://hulouo.xml", dflt.getUrl()); |
81 |
1
|
assertEquals(true, dflt.isFileAddress()); |
82 |
1
|
assertEquals(true, dflt.isRelativeAddress()); |
83 |
1
|
assertEquals(dflt, dflt.createModuleContext().getModuleLocation()); |
84 |
1
|
dflt = new DefaultModuleAddress("file:hulouo.xml"); |
85 |
1
|
assertEquals("hulouo.xml", dflt.getFileName()); |
86 |
1
|
assertEquals("file://", dflt.getHeader()); |
87 |
1
|
assertEquals("hulouo", dflt.getName()); |
88 |
1
|
assertEquals("", dflt.getPath()); |
89 |
1
|
assertEquals("file://hulouo.xml", dflt.getUrl()); |
90 |
1
|
assertEquals(true, dflt.isFileAddress()); |
91 |
1
|
assertEquals(true, dflt.isRelativeAddress()); |
92 |
1
|
dflt = new DefaultModuleAddress("file:///root/hulouo.xml"); |
93 |
1
|
assertEquals("hulouo.xml", dflt.getFileName()); |
94 |
1
|
assertEquals("file://", dflt.getHeader()); |
95 |
1
|
assertEquals("hulouo", dflt.getName()); |
96 |
1
|
assertEquals("/root/", dflt.getPath()); |
97 |
1
|
assertEquals("file:///root/hulouo.xml", dflt.getUrl()); |
98 |
1
|
assertEquals(true, dflt.isFileAddress()); |
99 |
1
|
assertEquals(false, dflt.isRelativeAddress()); |
100 |
1
|
assertEquals(dflt, dflt.createModuleContext().getModuleLocation()); |
101 |
1
|
dflt = new DefaultModuleAddress("http:hulouo.xml"); |
102 |
1
|
assertEquals("hulouo.xml", dflt.getFileName()); |
103 |
1
|
assertEquals("http:", dflt.getHeader()); |
104 |
1
|
assertEquals("hulouo", dflt.getName()); |
105 |
1
|
assertEquals("", dflt.getPath()); |
106 |
1
|
assertEquals("http:hulouo.xml", dflt.getUrl()); |
107 |
1
|
assertEquals(false, dflt.isFileAddress()); |
108 |
1
|
assertEquals(true, dflt.isRelativeAddress()); |
109 |
1
|
assertEquals(dflt, dflt.createModuleContext().getModuleLocation()); |
110 |
1
|
dflt = new DefaultModuleAddress("http://unknown.com/hulouo.xml"); |
111 |
1
|
assertEquals("hulouo.xml", dflt.getFileName()); |
112 |
1
|
assertEquals("http://unknown.com", dflt.getHeader()); |
113 |
1
|
assertEquals("hulouo", dflt.getName()); |
114 |
1
|
assertEquals("/", dflt.getPath()); |
115 |
1
|
assertEquals("http://unknown.com/hulouo.xml", dflt.getUrl()); |
116 |
1
|
assertEquals(false, dflt.isFileAddress()); |
117 |
1
|
assertEquals(false, dflt.isRelativeAddress()); |
118 |
1
|
assertEquals(dflt, dflt.createModuleContext().getModuleLocation()); |
119 |
1
|
dflt = new DefaultModuleAddress("ftp://asmith@ftp.example.org/xx/hulouo.xml"); |
120 |
1
|
assertEquals("hulouo.xml", dflt.getFileName()); |
121 |
1
|
assertEquals("ftp://asmith@ftp.example.org", dflt.getHeader()); |
122 |
1
|
assertEquals("hulouo", dflt.getName()); |
123 |
1
|
assertEquals("/xx/", dflt.getPath()); |
124 |
1
|
assertEquals("ftp://asmith@ftp.example.org/xx/hulouo.xml", dflt.getUrl()); |
125 |
1
|
assertEquals(false, dflt.isFileAddress()); |
126 |
1
|
assertEquals(false, dflt.isRelativeAddress()); |
127 |
1
|
assertEquals(dflt, dflt.createModuleContext().getModuleLocation()); |
128 |
1
|
dflt = new DefaultModuleAddress(true, "i am only a memory"); |
129 |
1
|
assertFalse(dflt.isFileAddress()); |
130 |
1
|
assertFalse(dflt.isRelativeAddress()); |
131 |
1
|
try { |
132 |
1
|
new DefaultModuleAddress(false, "i am only a memory"); |
133 |
0
|
fail("Exception expected"); |
134 |
|
} catch (Exception e) { |
135 |
|
} |
136 |
1
|
try { |
137 |
1
|
new DefaultModuleAddress(true, null); |
138 |
0
|
fail("Exception expected"); |
139 |
|
} catch (Exception e) { |
140 |
|
} |
141 |
1
|
try { |
142 |
1
|
new DefaultModuleAddress((File) null); |
143 |
0
|
fail("Exception expected"); |
144 |
|
} catch (Exception e) { |
145 |
|
} |
146 |
1
|
try { |
147 |
1
|
new DefaultModuleAddress((String) null); |
148 |
0
|
fail("Exception expected"); |
149 |
|
} catch (Exception e) { |
150 |
|
} |
151 |
1
|
try { |
152 |
1
|
new DefaultModuleAddress((URL) null); |
153 |
0
|
fail("Exception expected"); |
154 |
|
} catch (Exception e) { |
155 |
|
} |
156 |
1
|
try { |
157 |
1
|
new DefaultModuleAddress(null, null); |
158 |
0
|
fail("Exception expected"); |
159 |
|
} catch (Exception e) { |
160 |
|
} |
161 |
|
} |
162 |
|
|
163 |
|
|
164 |
|
|
165 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (3) |
Complexity: 1 |
Complexity Density: 0.33 |
1
PASS
|
|
166 |
1
|
public void testHashCode() throws Exception {... |
167 |
1
|
final String url = "ftp://asmith@ftp.example.org/xx/hulouo.xml"; |
168 |
1
|
dflt = new DefaultModuleAddress(url); |
169 |
1
|
assertEquals(url.hashCode(), dflt.hashCode()); |
170 |
|
} |
171 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (9) |
Complexity: 1 |
Complexity Density: 0.11 |
1
PASS
|
|
172 |
1
|
public void testDefaultModuleAddressURL() throws Exception {... |
173 |
1
|
dflt = new DefaultModuleAddress(new URL("http://unknown.com/hulouo.xml")); |
174 |
1
|
assertEquals("hulouo.xml", dflt.getFileName()); |
175 |
1
|
assertEquals("http://unknown.com", dflt.getHeader()); |
176 |
1
|
assertEquals("hulouo", dflt.getName()); |
177 |
1
|
assertEquals("/", dflt.getPath()); |
178 |
1
|
assertEquals("http://unknown.com/hulouo.xml", dflt.getUrl()); |
179 |
1
|
assertEquals(false, dflt.isFileAddress()); |
180 |
1
|
assertEquals(false, dflt.isRelativeAddress()); |
181 |
1
|
assertEquals(dflt, dflt.createModuleContext().getModuleLocation()); |
182 |
|
} |
183 |
|
|
|
|
| 85.7% |
Uncovered Elements: 2 (14) |
Complexity: 3 |
Complexity Density: 0.3 |
1
PASS
|
|
184 |
1
|
public void testDefaultModuleAddressFile() throws Exception {... |
185 |
1
|
final File file = new File("unknown/hulouo.xml"); |
186 |
1
|
dflt = new DefaultModuleAddress(file); |
187 |
1
|
assertEquals("hulouo.xml", dflt.getFileName()); |
188 |
1
|
assertEquals("file://", dflt.getHeader()); |
189 |
1
|
assertEquals("hulouo", dflt.getName()); |
190 |
1
|
assertEquals((SystemUtils.IS_OS_WINDOWS ? "/" : "") + FilenameUtils.separatorsToUnix( |
191 |
|
file.getCanonicalFile().getParentFile().getPath()) + "/", dflt.getPath()); |
192 |
1
|
assertEquals("file://" + (SystemUtils.IS_OS_WINDOWS ? "/" : "") |
193 |
|
+ FilenameUtils.separatorsToUnix( |
194 |
|
file.getCanonicalPath()), dflt.getUrl()); |
195 |
1
|
assertEquals(true, dflt.isFileAddress()); |
196 |
1
|
assertEquals(false, dflt.isRelativeAddress()); |
197 |
1
|
assertEquals(dflt, dflt.createModuleContext().getModuleLocation()); |
198 |
|
} |
199 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (13) |
Complexity: 1 |
Complexity Density: 0.08 |
1
PASS
|
|
200 |
1
|
public void testCreateModuleContext() throws Exception {... |
201 |
1
|
dflt = new DefaultModuleAddress("unknown/hulouo.xml"); |
202 |
1
|
assertEquals("hulouo.xml", dflt.getFileName()); |
203 |
1
|
assertEquals("file://", dflt.getHeader()); |
204 |
1
|
assertEquals("hulouo", dflt.getName()); |
205 |
1
|
assertEquals("unknown/", dflt.getPath()); |
206 |
1
|
assertEquals("file://unknown/hulouo.xml", dflt.getUrl()); |
207 |
1
|
assertEquals(true, dflt.isFileAddress()); |
208 |
1
|
assertEquals(true, dflt.isRelativeAddress()); |
209 |
1
|
final ModuleContext context = dflt.createModuleContext(); |
210 |
1
|
assertEquals(dflt, context.getModuleLocation()); |
211 |
1
|
assertEquals("", context.getLocationWithinModule()); |
212 |
1
|
assertEquals(null, context.getStartDelta()); |
213 |
1
|
assertEquals(null, context.getEndDelta()); |
214 |
|
} |
215 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (8) |
Complexity: 1 |
Complexity Density: 0.12 |
1
PASS
|
|
216 |
1
|
public void testEqualsObject() throws Exception {... |
217 |
1
|
final String url = "ftp://asmith@ftp.example.org/xx/hulouo.xml"; |
218 |
1
|
dflt = new DefaultModuleAddress(url); |
219 |
1
|
final DefaultModuleAddress second = new DefaultModuleAddress(url); |
220 |
1
|
assertEquals(dflt, second); |
221 |
1
|
final DefaultModuleAddress third = new DefaultModuleAddress("ftp://asmith@ftp.example.org/xy/hulouo.xml"); |
222 |
1
|
assertFalse(EqualsUtility.equals(dflt, third)); |
223 |
1
|
assertFalse(EqualsUtility.equals(url, dflt)); |
224 |
1
|
assertFalse(dflt.equals(null)); |
225 |
|
} |
226 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (3) |
Complexity: 1 |
Complexity Density: 0.33 |
1
PASS
|
|
227 |
1
|
public void testToString() throws Exception {... |
228 |
1
|
final String url = "ftp://asmith@ftp.example.org/xx/hulouo.xml"; |
229 |
1
|
dflt = new DefaultModuleAddress(url); |
230 |
1
|
assertEquals(url, dflt.toString()); |
231 |
|
} |
232 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (14) |
Complexity: 1 |
Complexity Density: 0.07 |
1
PASS
|
|
233 |
1
|
public void testGetModulePaths1() throws Exception {... |
234 |
1
|
dflt = new DefaultModuleAddress("http://logic.org/unknown/hulouo.xml"); |
235 |
1
|
ModuleAddress[] r = dflt.getModulePaths(new SpecificationVo()); |
236 |
1
|
assertEquals(0, r.length); |
237 |
1
|
LocationListVo list = new LocationListVo(); |
238 |
1
|
list.add(new LocationVo("new")); |
239 |
1
|
r = dflt.getModulePaths(new SpecificationVo("hulouo", "1.00.00", |
240 |
|
list)); |
241 |
1
|
ModuleAddress n = new DefaultModuleAddress("http://logic.org/unknown/new/hulouo.xml"); |
242 |
1
|
assertEquals(1, r.length); |
243 |
1
|
assertEquals(n, r[0]); |
244 |
1
|
list.add(new LocationVo("../now")); |
245 |
1
|
r = dflt.getModulePaths(new SpecificationVo("hulouo", "1.00.00", |
246 |
|
list)); |
247 |
1
|
n = new DefaultModuleAddress("http://logic.org/now/hulouo.xml"); |
248 |
1
|
assertEquals(2, r.length); |
249 |
1
|
assertEquals(n, r[1]); |
250 |
|
} |
251 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (14) |
Complexity: 1 |
Complexity Density: 0.07 |
1
PASS
|
|
252 |
1
|
public void testGetModulePaths2() throws Exception {... |
253 |
1
|
dflt = new DefaultModuleAddress("file:/unknown/hulouo.xml"); |
254 |
1
|
ModuleAddress[] r = dflt.getModulePaths(new SpecificationVo()); |
255 |
1
|
assertEquals(0, r.length); |
256 |
1
|
LocationListVo list = new LocationListVo(); |
257 |
1
|
list.add(new LocationVo("new")); |
258 |
1
|
r = dflt.getModulePaths(new SpecificationVo("hulouo", "1.00.00", |
259 |
|
list)); |
260 |
1
|
ModuleAddress n = new DefaultModuleAddress("file:/unknown/new/hulouo.xml"); |
261 |
1
|
assertEquals(1, r.length); |
262 |
1
|
assertEquals(n, r[0]); |
263 |
1
|
list.add(new LocationVo("../now")); |
264 |
1
|
r = dflt.getModulePaths(new SpecificationVo("hulouo", "1.00.00", |
265 |
|
list)); |
266 |
1
|
n = new DefaultModuleAddress("file:/now/hulouo.xml"); |
267 |
1
|
assertEquals(2, r.length); |
268 |
1
|
assertEquals(n, r[1]); |
269 |
|
} |
270 |
|
|
271 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (14) |
Complexity: 1 |
Complexity Density: 0.07 |
1
PASS
|
|
272 |
1
|
public void testGetModulePaths3() throws Exception {... |
273 |
1
|
dflt = new DefaultModuleAddress("unknown/hulouo.xml"); |
274 |
1
|
ModuleAddress[] r = dflt.getModulePaths(new SpecificationVo()); |
275 |
1
|
assertEquals(0, r.length); |
276 |
1
|
LocationListVo list = new LocationListVo(); |
277 |
1
|
list.add(new LocationVo("new")); |
278 |
1
|
r = dflt.getModulePaths(new SpecificationVo("hulouo", "1.00.00", |
279 |
|
list)); |
280 |
1
|
ModuleAddress n = new DefaultModuleAddress("unknown/new/hulouo.xml"); |
281 |
1
|
assertEquals(1, r.length); |
282 |
1
|
assertEquals(n, r[0]); |
283 |
1
|
list.add(new LocationVo("../now")); |
284 |
1
|
r = dflt.getModulePaths(new SpecificationVo("hulouo", "1.00.00", |
285 |
|
list)); |
286 |
1
|
n = new DefaultModuleAddress("now/hulouo.xml"); |
287 |
1
|
assertEquals(2, r.length); |
288 |
1
|
assertEquals(n, r[1]); |
289 |
|
} |
290 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
1
PASS
|
|
291 |
1
|
public void testCreateRelativeAddress() {... |
292 |
1
|
assertEquals("ho", DefaultModuleAddress.createRelativeAddress("http://hi/ti", "http://hi/ho")); |
293 |
1
|
assertEquals("ho.xml", DefaultModuleAddress.createRelativeAddress("http://hi/tic.xml", "http://hi/ho.xml")); |
294 |
1
|
assertEquals("http://gu/hi/ho.xml", DefaultModuleAddress.createRelativeAddress("http://go/hi/tic.xml", "http://gu/hi/ho.xml")); |
295 |
1
|
assertEquals("../ho.xml", DefaultModuleAddress.createRelativeAddress("http://go/hi/tic.xml", "http://go/ho.xml")); |
296 |
1
|
assertEquals("/../now/hulouo.xml", (new Path("/../now/hulouo.xml")).toString()); |
297 |
1
|
assertEquals("", DefaultModuleAddress.createRelativeAddress("http://hi/ti", "http://hi/ti")); |
298 |
|
} |
299 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0.14 |
1
PASS
|
|
300 |
1
|
public void testCreateRelativeAddress2() {... |
301 |
1
|
assertEquals("hi/ho", DefaultModuleAddress.createRelativeAddress("hi/ti", "hi/ho")); |
302 |
1
|
assertEquals("ho", DefaultModuleAddress.createRelativeAddress("/hi", "/ho")); |
303 |
1
|
assertEquals("ho", DefaultModuleAddress.createRelativeAddress("/ti/hi", "/ti/ho")); |
304 |
1
|
assertEquals("ho", DefaultModuleAddress.createRelativeAddress("hi", "ho")); |
305 |
1
|
assertEquals("ho", DefaultModuleAddress.createRelativeAddress("hi/ti", "ho")); |
306 |
1
|
assertEquals("hi/ti/hu", DefaultModuleAddress.createRelativeAddress("hi/ti/ta/ten", "hi/ti/hu")); |
307 |
1
|
assertEquals("ho", DefaultModuleAddress.createRelativeAddress("hi/ho", "ho")); |
308 |
|
} |
309 |
|
|
310 |
|
} |