Clover Coverage Report
Coverage timestamp: Fri May 24 2013 13:47:27 UTC
17   352   6   2.83
0   295   0.35   6
6     1  
1    
 
  FormulaUtilityReplaceSubjectVariableQuantifierTest       Line # 28 17 6 100% 1.0
 
  (5)
 
1    /* This file is part of the project "Hilbert II" - http://www.qedeq.org
2    *
3    * Copyright 2000-2013, Michael Meyling <mime@qedeq.org>.
4    *
5    * "Hilbert II" is free software; you can redistribute
6    * it and/or modify it under the terms of the GNU General Public
7    * License as published by the Free Software Foundation; either
8    * version 2 of the License, or (at your option) any later version.
9    *
10    * This program is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13    * GNU General Public License for more details.
14    */
15   
16    package org.qedeq.kernel.bo.logic.common;
17   
18    import org.qedeq.base.test.QedeqTestCase;
19    import org.qedeq.base.utility.Enumerator;
20    import org.qedeq.kernel.se.base.list.Element;
21    import org.qedeq.kernel.xml.parser.BasicParser;
22   
23    /**
24    * For testing the {@link org.qedeq.kernel.bo.logic.common.FormulaUtility}.
25    *
26    * @author Michael Meyling
27    */
 
28    public class FormulaUtilityReplaceSubjectVariableQuantifierTest extends QedeqTestCase {
29   
30    /**
31    * Function: replaceSubjectVariableQuantifier().
32    *
33    * @throws Exception Test failed.
34    */
 
35  1 toggle public void testClassTermPositive01() throws Exception {
36  1 final Element ele1 = BasicParser.createElement(
37    "<AND>" +
38    "<PREDVAR id=\"equal\">" +
39    "<VAR id=\"x\" />" +
40    "<VAR id=\"x\" />" +
41    "</PREDVAR>" +
42    "<PREDVAR id=\"equal\">" +
43    "<VAR id=\"y\" />" +
44    "<CLASS>" +
45    "<VAR id=\"x\" />" +
46    "<PREDVAR id=\"phi\" />" +
47    "</CLASS>" +
48    "</PREDVAR>" +
49    "</AND>");
50    // System.out.println(ele.toString());
51   
52  1 final Element ele2 = BasicParser.createElement(
53    "<AND>" +
54    "<PREDVAR id=\"equal\">" +
55    "<VAR id=\"x\" />" +
56    "<VAR id=\"x\" />" +
57    "</PREDVAR>" +
58    "<PREDVAR id=\"equal\">" +
59    "<VAR id=\"y\" />" +
60    "<CLASS>" +
61    "<VAR id=\"z\" />" +
62    "<PREDVAR id=\"phi\" />" +
63    "</CLASS>" +
64    "</PREDVAR>" +
65    "</AND>");
66    // System.out.println(ele.toString());
67  1 assertTrue(ele2.equals(FormulaUtility.replaceSubjectVariableQuantifier(
68    createVar("x"), createVar("z"), ele1, 1, new Enumerator())));
69    }
70   
71    /**
72    * Function: replaceSubjectVariableQuantifier().
73    *
74    * @throws Exception Test failed.
75    */
 
76  1 toggle public void testClassTermPositive02() throws Exception {
77  1 final Element ele1 = BasicParser.createElement(
78    "<AND>" +
79    "<FORALL>" +
80    "<VAR id=\"x\" />" +
81    "<PREDVAR id=\"equal\">" +
82    "<VAR id=\"x\" />" +
83    "<VAR id=\"x\" />" +
84    "</PREDVAR>" +
85    "</FORALL>" +
86    "<FORALL>" +
87    "<VAR id=\"y\" />" +
88    "<FORALL>" +
89    "<VAR id=\"z\" />" +
90    "<PREDVAR id=\"equal\">" +
91    "<VAR id=\"y\" />" +
92    "<CLASS>" +
93    "<VAR id=\"x\" />" +
94    "<PREDVAR id=\"phi\">" +
95    "<VAR id=\"x\" />" +
96    "</PREDVAR>" +
97    "</CLASS>" +
98    "</PREDVAR>" +
99    "</FORALL>" +
100    "</FORALL>" +
101    "</AND>");
102    // System.out.println(ele.toString());
103   
104  1 final Element ele2 = BasicParser.createElement(
105    "<AND>" +
106    "<FORALL>" +
107    "<VAR id=\"x\" />" +
108    "<PREDVAR id=\"equal\">" +
109    "<VAR id=\"x\" />" +
110    "<VAR id=\"x\" />" +
111    "</PREDVAR>" +
112    "</FORALL>" +
113    "<FORALL>" +
114    "<VAR id=\"y\" />" +
115    "<FORALL>" +
116    "<VAR id=\"z\" />" +
117    "<PREDVAR id=\"equal\">" +
118    "<VAR id=\"y\" />" +
119    "<CLASS>" +
120    "<VAR id=\"uv\" />" +
121    "<PREDVAR id=\"phi\">" +
122    "<VAR id=\"uv\" />" +
123    "</PREDVAR>" +
124    "</CLASS>" +
125    "</PREDVAR>" +
126    "</FORALL>" +
127    "</FORALL>" +
128    "</AND>");
129    // System.out.println(ele.toString());
130  1 assertTrue(ele2.equals(FormulaUtility.replaceSubjectVariableQuantifier(
131    createVar("x"), createVar("uv"), ele1, 2, new Enumerator())));
132    }
133   
134    /**
135    * Function: replaceSubjectVariableQuantifier().
136    *
137    * @throws Exception Test failed.
138    */
 
139  1 toggle public void testClassTermPositive03() throws Exception {
140  1 final Element ele1 = BasicParser.createElement(
141    "<AND>" +
142    "<FORALL>" +
143    "<VAR id=\"x\" />" +
144    "<PREDVAR id=\"equal\">" +
145    "<VAR id=\"x\" />" +
146    "<VAR id=\"x\" />" +
147    "</PREDVAR>" +
148    "</FORALL>" +
149    "<FORALL>" +
150    "<VAR id=\"x\" />" +
151    "<PREDVAR id=\"equal\">" +
152    "<VAR id=\"x\" />" +
153    "<VAR id=\"x\" />" +
154    "</PREDVAR>" +
155    "</FORALL>" +
156    "<FORALL>" +
157    "<VAR id=\"x\" />" +
158    "<PREDVAR id=\"equal\">" +
159    "<VAR id=\"x\" />" +
160    "<VAR id=\"x\" />" +
161    "</PREDVAR>" +
162    "</FORALL>" +
163    "<FORALL>" +
164    "<VAR id=\"x\" />" +
165    "<PREDVAR id=\"equal\">" +
166    "<VAR id=\"x\" />" +
167    "<VAR id=\"x\" />" +
168    "</PREDVAR>" +
169    "</FORALL>" +
170    "</AND>");
171    // System.out.println(ele.toString());
172   
173  1 final Element ele2 = BasicParser.createElement(
174    "<AND>" +
175    "<FORALL>" +
176    "<VAR id=\"tip\" />" +
177    "<PREDVAR id=\"equal\">" +
178    "<VAR id=\"tip\" />" +
179    "<VAR id=\"tip\" />" +
180    "</PREDVAR>" +
181    "</FORALL>" +
182    "<FORALL>" +
183    "<VAR id=\"x\" />" +
184    "<PREDVAR id=\"equal\">" +
185    "<VAR id=\"x\" />" +
186    "<VAR id=\"x\" />" +
187    "</PREDVAR>" +
188    "</FORALL>" +
189    "<FORALL>" +
190    "<VAR id=\"x\" />" +
191    "<PREDVAR id=\"equal\">" +
192    "<VAR id=\"x\" />" +
193    "<VAR id=\"x\" />" +
194    "</PREDVAR>" +
195    "</FORALL>" +
196    "<FORALL>" +
197    "<VAR id=\"x\" />" +
198    "<PREDVAR id=\"equal\">" +
199    "<VAR id=\"x\" />" +
200    "<VAR id=\"x\" />" +
201    "</PREDVAR>" +
202    "</FORALL>" +
203    "</AND>");
204    // System.out.println(ele.toString());
205  1 assertTrue(ele2.equals(FormulaUtility.replaceSubjectVariableQuantifier(
206    createVar("x"), createVar("tip"), ele1, 1, new Enumerator())));
207    }
208   
 
209  1 toggle public void testClassTermPositive04() throws Exception {
210  1 final Element ele1 = BasicParser.createElement(
211    "<AND>" +
212    "<FORALL>" +
213    "<VAR id=\"x\" />" +
214    "<PREDVAR id=\"equal\">" +
215    "<VAR id=\"x\" />" +
216    "<VAR id=\"x\" />" +
217    "</PREDVAR>" +
218    "</FORALL>" +
219    "<FORALL>" +
220    "<VAR id=\"x\" />" +
221    "<PREDVAR id=\"equal\">" +
222    "<VAR id=\"x\" />" +
223    "<VAR id=\"x\" />" +
224    "</PREDVAR>" +
225    "</FORALL>" +
226    "<FORALL>" +
227    "<VAR id=\"x\" />" +
228    "<PREDVAR id=\"equal\">" +
229    "<VAR id=\"x\" />" +
230    "<VAR id=\"x\" />" +
231    "</PREDVAR>" +
232    "</FORALL>" +
233    "<FORALL>" +
234    "<VAR id=\"x\" />" +
235    "<PREDVAR id=\"equal\">" +
236    "<VAR id=\"x\" />" +
237    "<VAR id=\"x\" />" +
238    "</PREDVAR>" +
239    "</FORALL>" +
240    "</AND>");
241    // System.out.println(ele.toString());
242   
243  1 final Element ele2 = BasicParser.createElement(
244    "<AND>" +
245    "<FORALL>" +
246    "<VAR id=\"x\" />" +
247    "<PREDVAR id=\"equal\">" +
248    "<VAR id=\"x\" />" +
249    "<VAR id=\"x\" />" +
250    "</PREDVAR>" +
251    "</FORALL>" +
252    "<FORALL>" +
253    "<VAR id=\"x\" />" +
254    "<PREDVAR id=\"equal\">" +
255    "<VAR id=\"x\" />" +
256    "<VAR id=\"x\" />" +
257    "</PREDVAR>" +
258    "</FORALL>" +
259    "<FORALL>" +
260    "<VAR id=\"x\" />" +
261    "<PREDVAR id=\"equal\">" +
262    "<VAR id=\"x\" />" +
263    "<VAR id=\"x\" />" +
264    "</PREDVAR>" +
265    "</FORALL>" +
266    "<FORALL>" +
267    "<VAR id=\"tip\" />" +
268    "<PREDVAR id=\"equal\">" +
269    "<VAR id=\"tip\" />" +
270    "<VAR id=\"tip\" />" +
271    "</PREDVAR>" +
272    "</FORALL>" +
273    "</AND>");
274    // System.out.println(ele.toString());
275  1 assertTrue(ele2.equals(FormulaUtility.replaceSubjectVariableQuantifier(
276    createVar("x"), createVar("tip"), ele1, 4, new Enumerator())));
277    }
278   
 
279  1 toggle public void testClassTermPositive05() throws Exception {
280  1 final Element ele1 = BasicParser.createElement(
281    "<AND>" +
282    "<FORALL>" +
283    "<VAR id=\"x\" />" +
284    "<PREDVAR id=\"equal\">" +
285    "<VAR id=\"x\" />" +
286    "<VAR id=\"x\" />" +
287    "</PREDVAR>" +
288    "</FORALL>" +
289    "<FORALL>" +
290    "<VAR id=\"x\" />" +
291    "<PREDVAR id=\"equal\">" +
292    "<VAR id=\"x\" />" +
293    "<VAR id=\"x\" />" +
294    "</PREDVAR>" +
295    "</FORALL>" +
296    "<FORALL>" +
297    "<VAR id=\"x\" />" +
298    "<PREDVAR id=\"equal\">" +
299    "<VAR id=\"x\" />" +
300    "<VAR id=\"x\" />" +
301    "</PREDVAR>" +
302    "</FORALL>" +
303    "<FORALL>" +
304    "<VAR id=\"x\" />" +
305    "<PREDVAR id=\"equal\">" +
306    "<VAR id=\"x\" />" +
307    "<VAR id=\"x\" />" +
308    "</PREDVAR>" +
309    "</FORALL>" +
310    "</AND>");
311    // System.out.println(ele.toString());
312   
313  1 final Element ele2 = BasicParser.createElement(
314    "<AND>" +
315    "<FORALL>" +
316    "<VAR id=\"x\" />" +
317    "<PREDVAR id=\"equal\">" +
318    "<VAR id=\"x\" />" +
319    "<VAR id=\"x\" />" +
320    "</PREDVAR>" +
321    "</FORALL>" +
322    "<FORALL>" +
323    "<VAR id=\"x\" />" +
324    "<PREDVAR id=\"equal\">" +
325    "<VAR id=\"x\" />" +
326    "<VAR id=\"x\" />" +
327    "</PREDVAR>" +
328    "</FORALL>" +
329    "<FORALL>" +
330    "<VAR id=\"x\" />" +
331    "<PREDVAR id=\"equal\">" +
332    "<VAR id=\"x\" />" +
333    "<VAR id=\"x\" />" +
334    "</PREDVAR>" +
335    "</FORALL>" +
336    "<FORALL>" +
337    "<VAR id=\"x\" />" +
338    "<PREDVAR id=\"equal\">" +
339    "<VAR id=\"x\" />" +
340    "<VAR id=\"x\" />" +
341    "</PREDVAR>" +
342    "</FORALL>" +
343    "</AND>");
344  1 System.out.println(ele2.toString());
345  1 assertTrue(ele2.equals(FormulaUtility.replaceSubjectVariableQuantifier(
346    createVar("x"), createVar("tip"), ele1, 5, new Enumerator())));
347    }
348   
 
349  10 toggle private Element createVar(final String name) throws Exception {
350  10 return BasicParser.createElement("<VAR id=\"" + name + "\" />");
351    }
352    }