1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
package org.qedeq.kernel.bo.control; |
19 |
|
|
20 |
|
import java.io.File; |
21 |
|
import java.io.IOException; |
22 |
|
|
23 |
|
import javax.xml.parsers.ParserConfigurationException; |
24 |
|
|
25 |
|
import org.qedeq.base.io.IoUtility; |
26 |
|
import org.qedeq.base.test.DynamicGetter; |
27 |
|
import org.qedeq.base.test.ObjectProxy; |
28 |
|
import org.qedeq.base.test.QedeqTestCase; |
29 |
|
import org.qedeq.base.trace.Trace; |
30 |
|
import org.qedeq.kernel.base.module.Author; |
31 |
|
import org.qedeq.kernel.base.module.Qedeq; |
32 |
|
import org.qedeq.kernel.bo.service.DefaultKernelQedeqBo; |
33 |
|
import org.qedeq.kernel.bo.service.ModuleLabelsCreator; |
34 |
|
import org.qedeq.kernel.bo.test.KernelFacade; |
35 |
|
import org.qedeq.kernel.common.IllegalModuleDataException; |
36 |
|
import org.qedeq.kernel.common.ModuleAddress; |
37 |
|
import org.qedeq.kernel.common.ModuleDataException; |
38 |
|
import org.qedeq.kernel.common.SourceFileException; |
39 |
|
import org.qedeq.kernel.common.SourceFileExceptionList; |
40 |
|
import org.qedeq.kernel.xml.handler.module.QedeqHandler; |
41 |
|
import org.qedeq.kernel.xml.parser.SaxDefaultHandler; |
42 |
|
import org.qedeq.kernel.xml.parser.SaxParser; |
43 |
|
import org.xml.sax.SAXException; |
44 |
|
|
45 |
|
|
46 |
|
|
47 |
|
|
48 |
|
@version |
49 |
|
@author |
50 |
|
|
|
|
| 84,8% |
Uncovered Elements: 12 (79) |
Complexity: 21 |
Complexity Density: 0,37 |
|
51 |
|
public class QedeqBoFactoryTest extends QedeqTestCase { |
52 |
|
|
53 |
|
|
54 |
|
private static final Class CLASS = QedeqBoFactoryTest.class; |
55 |
|
|
56 |
|
private Qedeq ok; |
57 |
|
|
58 |
|
private Qedeq error; |
59 |
|
|
60 |
|
private File okFile; |
61 |
|
|
62 |
|
private File errorFile; |
63 |
|
|
|
|
| 90,9% |
Uncovered Elements: 1 (11) |
Complexity: 2 |
Complexity Density: 0,18 |
|
64 |
6
|
protected void setUp() throws Exception {... |
65 |
6
|
super.setUp(); |
66 |
6
|
KernelFacade.startup(); |
67 |
6
|
try { |
68 |
6
|
okFile = getFile("qedeq_sample1.xml"); |
69 |
6
|
errorFile = getFile("qedeq_sample2_error.xml"); |
70 |
6
|
ok = (Qedeq) ObjectProxy.createProxy(createQedeqFromFile(okFile)); |
71 |
6
|
ok.getHeader().getAuthorList().get(0); |
72 |
6
|
assertTrue(DynamicGetter.get(ok, "getHeader().getAuthorList().get(0)") instanceof Author); |
73 |
6
|
ok = (Qedeq) ObjectProxy.createProxy(ok); |
74 |
6
|
error = (Qedeq) ObjectProxy.createProxy(createQedeqFromFile(errorFile)); |
75 |
|
} catch (Exception e) { |
76 |
0
|
KernelFacade.shutdown(); |
77 |
|
} |
78 |
|
} |
79 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0,25 |
|
80 |
6
|
protected void tearDown() throws Exception {... |
81 |
6
|
KernelFacade.shutdown(); |
82 |
6
|
ok = null; |
83 |
6
|
error = null; |
84 |
6
|
super.tearDown(); |
85 |
|
} |
86 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
87 |
0
|
public QedeqBoFactoryTest() {... |
88 |
0
|
super(); |
89 |
|
} |
90 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
91 |
6
|
public QedeqBoFactoryTest(final String name) {... |
92 |
6
|
super(name); |
93 |
|
} |
94 |
|
|
95 |
|
|
96 |
|
|
97 |
|
|
98 |
|
@throws |
99 |
|
@throws |
100 |
|
@throws |
101 |
|
|
|
|
| 78,6% |
Uncovered Elements: 3 (14) |
Complexity: 2 |
Complexity Density: 0,14 |
1
PASS
|
|
102 |
1
|
public void testCreateStringQedeq1() throws IOException, ParserConfigurationException,... |
103 |
|
SAXException, ModuleDataException, SourceFileExceptionList { |
104 |
1
|
final String method = "testCreateStringQedeq()"; |
105 |
1
|
final ModuleAddress address = KernelFacade.getKernelContext().getModuleAddress( |
106 |
|
IoUtility.toUrl(errorFile.getCanonicalFile())); |
107 |
1
|
final DefaultKernelQedeqBo prop = (DefaultKernelQedeqBo) KernelFacade |
108 |
|
.getKernelContext().getQedeqBo(address); |
109 |
1
|
try { |
110 |
1
|
QedeqBoFactoryAssert.createQedeq(prop, error); |
111 |
|
|
112 |
|
|
113 |
0
|
final ModuleLabelsCreator creator = new ModuleLabelsCreator(prop); |
114 |
0
|
creator.createLabels(); |
115 |
0
|
fail("SourceFileExceptionList expected"); |
116 |
|
} catch (SourceFileExceptionList e) { |
117 |
1
|
SourceFileException sf = e.get(0); |
118 |
1
|
assertEquals(221, sf.getSourceArea().getStartPosition().getLine()); |
119 |
1
|
assertEquals(9, sf.getSourceArea().getStartPosition().getColumn()); |
120 |
1
|
assertEquals(265, sf.getSourceArea().getEndPosition().getLine()); |
121 |
1
|
assertEquals(16, sf.getSourceArea().getEndPosition().getColumn()); |
122 |
1
|
Trace.trace(CLASS, this, method, e); |
123 |
|
} |
124 |
|
} |
125 |
|
|
126 |
|
|
127 |
|
|
128 |
|
|
129 |
|
@throws |
130 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
131 |
1
|
public void testCreateStringQedeq2() throws Exception {... |
132 |
1
|
loadQedeqAndAssertContext("project/qedeq_basic_concept.xml"); |
133 |
|
} |
134 |
|
|
135 |
|
|
136 |
|
|
137 |
|
|
138 |
|
@throws |
139 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
140 |
1
|
public void testCreateStringQedeq3() throws Exception {... |
141 |
1
|
loadQedeqAndAssertContext("project/qedeq_logic_language.xml"); |
142 |
|
} |
143 |
|
|
144 |
|
|
145 |
|
|
146 |
|
|
147 |
|
@throws |
148 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
149 |
1
|
public void testCreateStringQedeq4() throws Exception {... |
150 |
1
|
loadQedeqAndAssertContext("math/qedeq_sample1.xml"); |
151 |
|
} |
152 |
|
|
153 |
|
|
154 |
|
|
155 |
|
|
156 |
|
@throws |
157 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
158 |
1
|
public void testCreateStringQedeq5() throws Exception {... |
159 |
1
|
loadQedeqAndAssertContext("math/qedeq_set_theory_v1.xml"); |
160 |
|
} |
161 |
|
|
162 |
|
|
163 |
|
|
164 |
|
|
165 |
|
@throws |
166 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
167 |
1
|
public void testCreateStringQedeq6() throws Exception {... |
168 |
1
|
loadQedeqAndAssertContext("math/qedeq_logic_v1.xml"); |
169 |
|
} |
170 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
171 |
5
|
public void loadQedeqAndAssertContext(final String name) throws IOException,... |
172 |
|
ModuleDataException, ParserConfigurationException, SAXException, |
173 |
|
SourceFileExceptionList { |
174 |
5
|
loadQedeqAndAssertContext(getQedeqFile(name)); |
175 |
|
} |
176 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (3) |
Complexity: 1 |
Complexity Density: 0,33 |
|
177 |
10
|
public static final void loadQedeqAndAssertContext(final File file) throws IOException,... |
178 |
|
ModuleDataException, ParserConfigurationException, SAXException, |
179 |
|
SourceFileExceptionList { |
180 |
10
|
final ModuleAddress address = KernelFacade.getKernelContext().getModuleAddress( |
181 |
|
IoUtility.toUrl(file.getCanonicalFile())); |
182 |
10
|
final DefaultKernelQedeqBo prop = (DefaultKernelQedeqBo) KernelFacade |
183 |
|
.getKernelContext().getQedeqBo(address); |
184 |
10
|
QedeqBoFactoryAssert.createQedeq(prop, createQedeqFromFile(file)); |
185 |
|
} |
186 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
187 |
0
|
public static Qedeq loadQedeq(final String name) throws IOException,... |
188 |
|
IllegalModuleDataException, ParserConfigurationException, SAXException, |
189 |
|
SourceFileExceptionList { |
190 |
0
|
return loadQedeq(getQedeqFile(name)); |
191 |
|
} |
192 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
193 |
1
|
public static Qedeq loadQedeq(final File file) throws IOException,... |
194 |
|
ParserConfigurationException, SAXException, |
195 |
|
SourceFileExceptionList { |
196 |
1
|
return createQedeqFromFile(file); |
197 |
|
} |
198 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0,17 |
|
199 |
23
|
public static final Qedeq createQedeqFromFile(final File file)... |
200 |
|
throws ParserConfigurationException, SAXException, IOException, |
201 |
|
SourceFileExceptionList { |
202 |
23
|
SaxDefaultHandler handler = new SaxDefaultHandler(); |
203 |
23
|
QedeqHandler simple = new QedeqHandler(handler); |
204 |
23
|
handler.setBasisDocumentHandler(simple); |
205 |
23
|
SaxParser parser = new SaxParser(handler); |
206 |
23
|
parser.parse(file, null); |
207 |
23
|
return simple.getQedeq(); |
208 |
|
} |
209 |
|
|
210 |
|
|
211 |
|
|
212 |
|
|
213 |
|
@param |
214 |
|
|
215 |
|
@return |
216 |
|
@throws |
217 |
|
|
|
|
| 73,3% |
Uncovered Elements: 4 (15) |
Complexity: 4 |
Complexity Density: 0,44 |
|
218 |
6
|
public static File getQedeqFile(final String relativePath) throws IOException {... |
219 |
6
|
File docDir = new File("../QedeqDoc"); |
220 |
|
|
221 |
|
|
222 |
|
|
223 |
6
|
if (!docDir.exists()) { |
224 |
6
|
docDir = new File("../doc"); |
225 |
6
|
if (!docDir.exists()) { |
226 |
6
|
docDir = (new QedeqTestCase(){ }).getFile("doc"); |
227 |
6
|
if (!docDir.exists()) { |
228 |
0
|
throw new IOException("unknown source directory for QEDEQ modules"); |
229 |
|
} |
230 |
|
} |
231 |
|
} |
232 |
6
|
final File qedeqFile = new File(docDir, relativePath); |
233 |
6
|
return qedeqFile; |
234 |
|
} |
235 |
|
|
236 |
|
} |