Clover Coverage Report
Coverage timestamp: Fri May 24 2013 13:47:27 UTC
66   462   63   1.05
0   393   0.95   63
63     1  
1    
 
  AsciiMathParserTest       Line # 10 66 63 100% 1.0
 
  (58)
 
1    package org.qedeq.kernel.bo.parser;
2   
3    import java.io.File;
4    import java.util.List;
5   
6    import org.qedeq.base.io.TextInput;
7    import org.qedeq.kernel.bo.test.DummyInternalKernelServices;
8    import org.qedeq.kernel.xml.handler.parser.LoadXmlOperatorListUtility;
9   
 
10    public class AsciiMathParserTest extends AbstractParserTestCase {
11   
12    private static String[][] test = new String[][] {
13    { // 00
14    "set(x) <-> Ey x in y",
15    "EQUI(isSet(x), EXISTS(y, IN(x, y)))"
16    }, { // 01
17    "Ex Ay(y in x <-> set(y) & P(y))",
18    "EXISTS(x, ALL(y, EQUI(IN(y, x), AND(isSet(y), PREDVAR_1(y)))))"
19    }, { // 02
20    "x = y <-> Az(z in x <-> z in y)",
21    "EQUI(EQUAL(x, y), ALL(z, EQUI(IN(z, x), IN(z, y))))"
22    }, { // 03
23    "x = x\n",
24    "EQUAL(x, x)"
25    }, { // 04
26    "a in x <-> a in x",
27    "EQUI(IN(a, x), IN(a, x))"
28    }, { // 05
29    "Az(z in x <-> z in x)",
30    "ALL(z, EQUI(IN(z, x), IN(z, x)))"
31    }, { // 06
32    "x = y -> y = x",
33    "IMPL(EQUAL(x, y), EQUAL(y, x))"
34    }, { // 07
35    "x = y",
36    "EQUAL(x, y)"
37    }, { // 08
38    "Az(z in x <-> z in y)",
39    "ALL(z, EQUI(IN(z, x), IN(z, y)))"
40    }, { // 09
41    "Az(z in y <-> z in x)",
42    "ALL(z, EQUI(IN(z, y), IN(z, x)))"
43    }, { // 10
44    "y = x",
45    "EQUAL(y, x)"
46    }, { // 11
47    "x = y -> y = x",
48    "IMPL(EQUAL(x, y), EQUAL(y, x))"
49    }, { // 12
50    "x = y & y = z -> x = z",
51    "IMPL(AND(EQUAL(x, y), EQUAL(y, z)), EQUAL(x, z))"
52    }, { // 13
53    "x = y & y = z",
54    "AND(EQUAL(x, y), EQUAL(y, z))"
55    }, { // 14
56    "Au(u in x <-> u in y) & Au(u in y <-> u in z)",
57    "AND(ALL(u, EQUI(IN(u, x), IN(u, y))), ALL(u, EQUI(IN(u, y), IN(u, z))))"
58    }, { // 15
59    "Au((u in x <-> u in y) & (u in y <-> u in z))",
60    "ALL(u, AND(EQUI(IN(u, x), IN(u, y)), EQUI(IN(u, y), IN(u, z))))"
61    }, { // 16
62    "(a in x <-> a in y) & (a in y <-> a in z)",
63    "AND(EQUI(IN(a, x), IN(a, y)), EQUI(IN(a, y), IN(a, z)))"
64    }, { // 17
65    "a in x <-> a in z",
66    "EQUI(IN(a, x), IN(a, z))"
67    }, { // 18
68    "Au(u in x <-> u in z)",
69    "ALL(u, EQUI(IN(u, x), IN(u, z)))"
70    }, { // 19
71    "x = z",
72    "EQUAL(x, z)"
73    }, { // 20
74    "x = y & z in x -> z in y",
75    "IMPL(AND(EQUAL(x, y), IN(z, x)), IN(z, y))"
76    }, { // 21
77    "x = y & z in x",
78    "AND(EQUAL(x, y), IN(z, x))"
79    }, { // 22
80    "z in x",
81    "IN(z, x)"
82    }, { // 23
83    "x = y",
84    "EQUAL(x, y)"
85    }, { // 24
86    "Au(u in x <-> u in y)",
87    "ALL(u, EQUI(IN(u, x), IN(u, y)))"
88    }, { // 25
89    "z in x <-> z in y",
90    "EQUI(IN(z, x), IN(z, y))"
91    }, { // 26
92    "z in y",
93    "IN(z, y)"
94    }, { // 27
95    "x = y & x in z -> y in z",
96    "IMPL(AND(EQUAL(x, y), IN(x, z)), IN(y, z))"
97    }, { // 28
98    "x in {y | P(y)} <-> set(x) & P(x)",
99    "EQUI(IN(x, SETDEF(y, PREDVAR_1(y))), AND(isSet(x), PREDVAR_1(x)))"
100    }, { // 29
101    "{y | P(y)} in x <-> Ez(Ay((set(y) & P(y)) <-> y in z) & z in x)",
102    "EQUI(IN(SETDEF(y, PREDVAR_1(y)), x), EXISTS(z, AND(ALL(y, EQUI(AND(isSet(y), PREDVAR_1(y)), IN(y, z))), IN(z, x))))"
103    }, { // 30
104    "{y | P(y)} in x <-> Ez(z = {y | P(y)} & z in x)",
105    "EQUI(IN(SETDEF(y, PREDVAR_1(y)), x), EXISTS(z, AND(EQUAL(z, SETDEF(y, PREDVAR_1(y))), IN(z, x))))"
106    }, { // 31
107    "{y | P(y)} in x <-> {y | P(y)} in x",
108    "EQUI(IN(SETDEF(y, PREDVAR_1(y)), x), IN(SETDEF(y, PREDVAR_1(y)), x))"
109    }, { // 32
110    "Ez(Ay((set(y) & P(y)) <-> y in z) & z in x)",
111    "EXISTS(z, AND(ALL(y, EQUI(AND(isSet(y), PREDVAR_1(y)), IN(y, z))), IN(z, x)))"
112    }, { // 33
113    "Ez(Au((set(u) & P(u)) <-> u in z) & z in x)",
114    "EXISTS(z, AND(ALL(u, EQUI(AND(isSet(u), PREDVAR_1(u)), IN(u, z))), IN(z, x)))"
115    }, { // 34
116    "Ez(Au(u in z <-> (set(u) & P(u))) & z in x)",
117    "EXISTS(z, AND(ALL(u, EQUI(IN(u, z), AND(isSet(u), PREDVAR_1(u)))), IN(z, x)))"
118    }, { // 35
119    "Ez(Au(u in z <-> u in {y | P(y)}) & z in x)",
120    "EXISTS(z, AND(ALL(u, EQUI(IN(u, z), IN(u, SETDEF(y, PREDVAR_1(y))))), IN(z, x)))"
121    }, { // 36
122    "Ez(z = {y | P(y)} & z in x)",
123    "EXISTS(z, AND(EQUAL(z, SETDEF(y, PREDVAR_1(y))), IN(z, x)))"
124    }, { // 37
125    "({y | P(y)} in x <-> {y | P(y)} in x)"
126    + "<-> (Ez(Ay((set(y) & P(y)) <-> y in z) & z in x))"
127    + "<-> (Ez(Au((set(u) & P(u)) <-> u in z) & z in x))"
128    + "<-> (Ez(Au(u in z <-> (set(u) & P(u))) & z in x))"
129    + "<-> (Ez(Au(u in z <-> u in {y | P(y)}) & z in x))"
130    + "<-> (Ez(z = {y | P(y)} & z in x))",
131    "EQUI(EQUI(IN(SETDEF(y, PREDVAR_1(y)), x), IN(SETDEF(y, PREDVAR_1(y)), x)),"
132    + " EXISTS(z, AND(ALL(y, EQUI(AND(isSet(y), PREDVAR_1(y)), IN(y, z))), IN(z, x))),"
133    + " EXISTS(z, AND(ALL(u, EQUI(AND(isSet(u), PREDVAR_1(u)), IN(u, z))), IN(z, x))),"
134    + " EXISTS(z, AND(ALL(u, EQUI(IN(u, z), AND(isSet(u), PREDVAR_1(u)))), IN(z, x))),"
135    + " EXISTS(z, AND(ALL(u, EQUI(IN(u, z), IN(u, SETDEF(y, PREDVAR_1(y))))), IN(z, x))),"
136    + " EXISTS(z, AND(EQUAL(z, SETDEF(y, PREDVAR_1(y))), IN(z, x))))"
137    }, { // 38
138    "{x | P(x)} = {x | Q(x)} <-> (Ax(set(x) -> (P(x) <-> Q(x))))",
139    "EQUI(EQUAL(SETDEF(x, PREDVAR_1(x)), SETDEF(x, PREDVAR_2(x))), ALL(x, IMPL(isSet(x), EQUI(PREDVAR_1(x), PREDVAR_2(x)))))"
140    }, { // 39
141    "{x | P(x)} = {x | Q(x)}",
142    "EQUAL(SETDEF(x, PREDVAR_1(x)), SETDEF(x, PREDVAR_2(x)))"
143    }, { // 40
144    "Ay(y in {x | P(x)} <-> y in {x | Q(x)})",
145    "ALL(y, EQUI(IN(y, SETDEF(x, PREDVAR_1(x))), IN(y, SETDEF(x, PREDVAR_2(x)))))"
146    }, { // 41
147    "Ay((set(y) & P(y)) <-> (set(y) & Q(y)))",
148    "ALL(y, EQUI(AND(isSet(y), PREDVAR_1(y)), AND(isSet(y), PREDVAR_2(y))))"
149    }, { // 42
150    "Ay(((set(y) & P(y)) -> (set(y) & Q(y))) & ((set(y) & Q(y)) -> (set(y) & P(y))))",
151    "ALL(y, AND(IMPL(AND(isSet(y), PREDVAR_1(y)), AND(isSet(y), PREDVAR_2(y))), IMPL(AND(isSet(y), PREDVAR_2(y)), AND(isSet(y), PREDVAR_1(y)))))"
152    }, { // 43
153    "Ay(((set(y) & P(y)) -> Q(y)) & ((set(y) & Q(y)) -> P(y)))",
154    "ALL(y, AND(IMPL(AND(isSet(y), PREDVAR_1(y)), PREDVAR_2(y)), IMPL(AND(isSet(y), PREDVAR_2(y)), PREDVAR_1(y))))"
155    }, { // 44
156    "Ay((set(y) -> (P(y) -> Q(y))) & (set(y) -> (Q(y) -> P(y))))",
157    "ALL(y, AND(IMPL(isSet(y), IMPL(PREDVAR_1(y), PREDVAR_2(y))), IMPL(isSet(y), IMPL(PREDVAR_2(y), PREDVAR_1(y)))))"
158    }, { // 45
159    "Ay(set(y) -> ((P(y) -> Q(y)) & (Q(y) -> P(y))))",
160    "ALL(y, IMPL(isSet(y), AND(IMPL(PREDVAR_1(y), PREDVAR_2(y)), IMPL(PREDVAR_2(y), PREDVAR_1(y)))))"
161    }, { // 46
162    "Ay(set(y) -> (P(y) <-> Q(y)))",
163    "ALL(y, IMPL(isSet(y), EQUI(PREDVAR_1(y), PREDVAR_2(y))))"
164    }, { // 47
165    "(x union y) <-> {z | z in x v z in y}",
166    "EQUI(UNION(x, y), SETDEF(z, OR(IN(z, x), IN(z, y))))"
167    }, { // 48
168    "(x inter y) <-> {z | z in x & z in y}",
169    "EQUI(INTER(x, y), SETDEF(z, AND(IN(z, x), IN(z, y))))"
170    }, { // 49
171    "z in (x union y) <-> z in x v z in y",
172    "EQUI(IN(z, UNION(x, y)), OR(IN(z, x), IN(z, y)))"
173    }, { // 50
174    "z in {x, y} <-> z = x v z = y",
175    "EQUI(IN(z, SET(x, y)), OR(EQUAL(z, x), EQUAL(z, y)))"
176    }
177    };
178   
179    private static String[][] exceptionTest = new String[][] {
180    { // 00
181    "x <-> (y -> z",
182    "1:14:Closing bracket for \"(\" expected. Found: \"null\""
183    }, { // 01
184    "set(x, y)",
185    "1:7:Closing bracket for \"(\" expected. Found: \",\""
186    }, { // 02
187    "{x | y",
188    "1:7:End symbol not found: }"
189    }, { // 03
190    "{x | y | z}",
191    "1:7:End symbol not found: }"
192    }, { // 04
193    "function(x, y, z, u)",
194    "1:21:To much arguments for operator \"function[2, 3], is function, is prefix\". Maximum: 3"
195    }, { // 05
196    "function(x)",
197    "1:12:To few arguments. Expected: 2"
198    }, { // 06
199    "= x",
200    "1:2:No operator expected, but found: =[2, ..], is infix"
201    }
202    };
203   
 
204  58 toggle public AsciiMathParserTest(String arg0) {
205  58 super(arg0);
206    }
207   
 
208  58 toggle protected void setUp() throws Exception {
209  58 super.setUp();
210    }
211   
 
212  58 toggle protected void tearDown() throws Exception {
213  58 super.tearDown();
214    }
215   
 
216  254 toggle protected String[][] getTest() {
217  254 return test;
218    }
219   
 
220  14 toggle protected String[][] getExceptionTest() {
221  14 return exceptionTest;
222    }
223   
 
224  58 toggle protected MathParser createParser(final TextInput input) throws Exception {
225  58 final List operators = LoadXmlOperatorListUtility.getOperatorList(
226    new DummyInternalKernelServices(),
227    new File(getIndir(),
228    "parser/asciiMathOperators.xml"));
229  58 final MathParser parser = new AsciiMathParser();
230  58 parser.setParameters(input, operators);
231  58 return parser;
232    }
233   
 
234  1 toggle public void testReadMaximalTerm00() throws Exception {
235  1 internalTest(0);
236    }
237   
 
238  1 toggle public void testReadMaximalTerm01() throws Exception {
239  1 internalTest(1);
240    }
241   
 
242  1 toggle public void testReadMaximalTerm02() throws Exception {
243  1 internalTest(2);
244    }
245   
 
246  1 toggle public void testReadMaximalTerm03() throws Exception {
247  1 internalTest(3);
248    }
249   
 
250  1 toggle public void testReadMaximalTerm04() throws Exception {
251  1 internalTest(4);
252    }
253   
 
254  1 toggle public void testReadMaximalTerm05() throws Exception {
255  1 internalTest(5);
256    }
257   
 
258  1 toggle public void testReadMaximalTerm06() throws Exception {
259  1 internalTest(6);
260    }
261   
 
262  1 toggle public void testReadMaximalTerm07() throws Exception {
263  1 internalTest(7);
264    }
265   
 
266  1 toggle public void testReadMaximalTerm08() throws Exception {
267  1 internalTest(8);
268    }
269   
 
270  1 toggle public void testReadMaximalTerm09() throws Exception {
271  1 internalTest(9);
272    }
273   
 
274  1 toggle public void testReadMaximalTerm10() throws Exception {
275  1 internalTest(10);
276    }
277   
 
278  1 toggle public void testReadMaximalTerm11() throws Exception {
279  1 internalTest(11);
280    }
281   
 
282  1 toggle public void testReadMaximalTerm12() throws Exception {
283  1 internalTest(12);
284    }
285   
 
286  1 toggle public void testReadMaximalTerm13() throws Exception {
287  1 internalTest(13);
288    }
289   
 
290  1 toggle public void testReadMaximalTerm14() throws Exception {
291  1 internalTest(14);
292    }
293   
 
294  1 toggle public void testReadMaximalTerm15() throws Exception {
295  1 internalTest(15);
296    }
297   
 
298  1 toggle public void testReadMaximalTerm16() throws Exception {
299  1 internalTest(16);
300    }
301   
 
302  1 toggle public void testReadMaximalTerm17() throws Exception {
303  1 internalTest(17);
304    }
305   
 
306  1 toggle public void testReadMaximalTerm18() throws Exception {
307  1 internalTest(18);
308    }
309   
 
310  1 toggle public void testReadMaximalTerm19() throws Exception {
311  1 internalTest(19);
312    }
313   
 
314  1 toggle public void testReadMaximalTerm20() throws Exception {
315  1 internalTest(20);
316    }
317   
 
318  1 toggle public void testReadMaximalTerm21() throws Exception {
319  1 internalTest(21);
320    }
321   
 
322  1 toggle public void testReadMaximalTerm22() throws Exception {
323  1 internalTest(22);
324    }
325   
 
326  1 toggle public void testReadMaximalTerm23() throws Exception {
327  1 internalTest(23);
328    }
329   
 
330  1 toggle public void testReadMaximalTerm24() throws Exception {
331  1 internalTest(24);
332    }
333   
 
334  1 toggle public void testReadMaximalTerm26() throws Exception {
335  1 internalTest(26);
336    }
337   
 
338  1 toggle public void testReadMaximalTerm27() throws Exception {
339  1 internalTest(27);
340    }
341   
 
342  1 toggle public void testReadMaximalTerm28() throws Exception {
343  1 internalTest(28);
344    }
345   
 
346  1 toggle public void testReadMaximalTerm29() throws Exception {
347  1 internalTest(29);
348    }
349   
 
350  1 toggle public void testReadMaximalTerm30() throws Exception {
351  1 internalTest(30);
352    }
353   
 
354  1 toggle public void testReadMaximalTerm31() throws Exception {
355  1 internalTest(31);
356    }
357   
 
358  1 toggle public void testReadMaximalTerm32() throws Exception {
359  1 internalTest(32);
360    }
361   
 
362  1 toggle public void testReadMaximalTerm33() throws Exception {
363  1 internalTest(33);
364    }
365   
 
366  1 toggle public void testReadMaximalTerm34() throws Exception {
367  1 internalTest(34);
368    }
369   
 
370  1 toggle public void testReadMaximalTerm35() throws Exception {
371  1 internalTest(35);
372    }
373   
 
374  1 toggle public void testReadMaximalTerm36() throws Exception {
375  1 internalTest(36);
376    }
377   
 
378  1 toggle public void testReadMaximalTerm37() throws Exception {
379  1 internalTest(37);
380    }
381   
 
382  1 toggle public void testReadMaximalTerm38() throws Exception {
383  1 internalTest(38);
384    }
385   
 
386  1 toggle public void testReadMaximalTerm39() throws Exception {
387  1 internalTest(39);
388    }
389   
 
390  1 toggle public void testReadMaximalTerm40() throws Exception {
391  1 internalTest(40);
392    }
393   
 
394  1 toggle public void testReadMaximalTerm41() throws Exception {
395  1 internalTest(41);
396    }
397   
 
398  1 toggle public void testReadMaximalTerm42() throws Exception {
399  1 internalTest(42);
400    }
401   
 
402  1 toggle public void testReadMaximalTerm43() throws Exception {
403  1 internalTest(43);
404    }
405   
 
406  1 toggle public void testReadMaximalTerm44() throws Exception {
407  1 internalTest(44);
408    }
409   
 
410  1 toggle public void testReadMaximalTerm45() throws Exception {
411  1 internalTest(45);
412    }
413   
 
414  1 toggle public void testReadMaximalTerm46() throws Exception {
415  1 internalTest(46);
416    }
417   
 
418  1 toggle public void testReadMaximalTerm47() throws Exception {
419  1 internalTest(47);
420    }
421   
 
422  1 toggle public void testReadMaximalTerm48() throws Exception {
423  1 internalTest(48);
424    }
425   
 
426  1 toggle public void testReadMaximalTerm49() throws Exception {
427  1 internalTest(49);
428    }
429   
 
430  1 toggle public void testReadMaximalTerm50() throws Exception {
431  1 internalTest(50);
432    }
433   
 
434  1 toggle public void testException00() throws Exception {
435  1 internalExceptionTest(00);
436    }
437   
 
438  1 toggle public void testException01() throws Exception {
439  1 internalExceptionTest(01);
440    }
441   
 
442  1 toggle public void testException02() throws Exception {
443  1 internalExceptionTest(02);
444    }
445   
 
446  1 toggle public void testException03() throws Exception {
447  1 internalExceptionTest(03);
448    }
449   
 
450  1 toggle public void testException04() throws Exception {
451  1 internalExceptionTest(04);
452    }
453   
 
454  1 toggle public void testException05() throws Exception {
455  1 internalExceptionTest(05);
456    }
457   
 
458  1 toggle public void testException06() throws Exception {
459  1 internalExceptionTest(06);
460    }
461   
462    }