Clover Coverage Report
Coverage timestamp: Fri Feb 14 2014 07:28:57 UTC
15   245   4   3.75
0   186   0.27   4
4     1  
1    
 
  FormulaUtilityReplaceOperatorVariableTest       Line # 30 15 4 73.7% 0.7368421
 
  (2)
 
1    /* This file is part of the project "Hilbert II" - http://www.qedeq.org
2    *
3    * Copyright 2000-2014, 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.kernel.bo.module.ModuleLabels;
19    import org.qedeq.kernel.bo.service.internal.Element2LatexImpl;
20    import org.qedeq.kernel.bo.service.internal.Element2Utf8Impl;
21    import org.qedeq.kernel.bo.test.QedeqBoTestCase;
22    import org.qedeq.kernel.se.base.list.Element;
23    import org.qedeq.kernel.xml.parser.BasicParser;
24   
25    /**
26    * For testing the {@link org.qedeq.kernel.bo.logic.common.FormulaUtility}.
27    *
28    * @author Michael Meyling
29    */
 
30    public class FormulaUtilityReplaceOperatorVariableTest extends QedeqBoTestCase {
31   
32   
33    private Element predVar1;
34   
35    private Element funVar1;
36   
37   
 
38  2 toggle protected void setUp() throws Exception {
39   
40  2 predVar1 = BasicParser.createElement(
41    "<PREDVAR id=\"equal\">" +
42    "<VAR id=\"x\" />" +
43    "<VAR id=\"y\" />" +
44    "</PREDVAR>");
45  2 funVar1 = BasicParser.createElement(
46    "<FUNVAR id=\"u\">" +
47    "<VAR id=\"u\" />" +
48    "<VAR id=\"v\" />" +
49    "</FUNVAR>");
50  2 super.setUp();
51    }
52   
53    /**
54    * Function: replaceOperatorVariable.
55    *
56    * @throws Exception Test failed.
57    */
 
58  1 toggle public void test_Positive01() throws Exception {
59  1 final Element ele1 = BasicParser.createElement(
60    "<AND>" +
61    "<FORALL>" +
62    "<VAR id=\"x\" />" +
63    "<PREDVAR id=\"equal\">" +
64    "<VAR id=\"x\" />" +
65    "<VAR id=\"x\" />" +
66    "</PREDVAR>" +
67    "</FORALL>" +
68    "<FORALL>" +
69    "<VAR id=\"y\" />" +
70    "<FORALL>" +
71    "<VAR id=\"z\" />" +
72    "<PREDVAR id=\"equal\">" +
73    "<VAR id=\"y\" />" +
74    "<CLASS>" +
75    "<VAR id=\"x\" />" +
76    "<PREDVAR id=\"\\phi\">" +
77    "<VAR id=\"x\" />" +
78    "</PREDVAR>" +
79    "</CLASS>" +
80    "</PREDVAR>" +
81    "</FORALL>" +
82    "</FORALL>" +
83    "</AND>");
84    // System.out.println(ele.toString());
85   
86  1 final Element ele2 = BasicParser.createElement(
87    "<AND>" +
88    "<PREDCON id=\"\\leq\">" +
89    "<VAR id=\"x\" />" +
90    "<VAR id=\"y\" />" +
91    "</PREDCON>" +
92    "<PREDCON id=\"\\leq\">" +
93    "<VAR id=\"y\" />" +
94    "<VAR id=\"x\" />" +
95    "</PREDCON>" +
96    "</AND>");
97    // System.out.println(ele.toString());
98   
99  1 final Element ele3 = BasicParser.createElement(
100    "<AND>" +
101    "<FORALL>" +
102    "<VAR id=\"x\" />" +
103    "<AND>" +
104    "<PREDCON id=\"\\leq\">" +
105    "<VAR id=\"x\" />" +
106    "<VAR id=\"x\" />" +
107    "</PREDCON>" +
108    "<PREDCON id=\"\\leq\">" +
109    "<VAR id=\"x\" />" +
110    "<VAR id=\"x\" />" +
111    "</PREDCON>" +
112    "</AND>" +
113    "</FORALL>" +
114    "<FORALL>" +
115    "<VAR id=\"y\" />" +
116    "<FORALL>" +
117    "<VAR id=\"z\" />" +
118    "<AND>" +
119    "<PREDCON id=\"\\leq\">" +
120    "<VAR id=\"y\" />" +
121    "<CLASS>" +
122    "<VAR id=\"x\" />" +
123    "<PREDVAR id=\"\\phi\">" +
124    "<VAR id=\"x\" />" +
125    "</PREDVAR>" +
126    "</CLASS>" +
127    "</PREDCON>" +
128    "<PREDCON id=\"\\leq\">" +
129    "<CLASS>" +
130    "<VAR id=\"x\" />" +
131    "<PREDVAR id=\"\\phi\">" +
132    "<VAR id=\"x\" />" +
133    "</PREDVAR>" +
134    "</CLASS>" +
135    "<VAR id=\"y\" />" +
136    "</PREDCON>" +
137    "</AND>" +
138    "</FORALL>" +
139    "</FORALL>" +
140    "</AND>");
141    // println(ele3);
142    // println(FormulaUtility.replaceOperatorVariable(ele1,
143    // predVar1, ele2));
144  1 assertTrue(ele3.equals(FormulaUtility.replaceOperatorVariable(ele1,
145    predVar1, ele2)));
146    }
147   
148    /**
149    * Function: replaceOperatorVariable.
150    *
151    * @throws Exception Test failed.
152    */
 
153  1 toggle public void test_Positive02() throws Exception {
154  1 final Element ele1 = BasicParser.createElement(
155    "<AND>" +
156    "<FORALL>" +
157    "<VAR id=\"x\" />" +
158    "<PREDCON id=\"equal\">" +
159    "<FUNVAR id=\"u\"> " +
160    "<VAR id=\"x\" />" +
161    "<VAR id=\"x\" />" +
162    "</FUNVAR>" +
163    "<VAR id=\"x\" />" +
164    "</PREDCON>" +
165    "</FORALL>" +
166    "<FORALL>" +
167    "<VAR id=\"y\" />" +
168    "<FORALL>" +
169    "<VAR id=\"z\" />" +
170    "<PREDCON id=\"equal\">" +
171    "<VAR id=\"z\" />" +
172    "<FUNVAR id=\"u\">" +
173    "<CLASS>" +
174    "<VAR id=\"x\" />" +
175    "<PREDVAR id=\"\\phi\">" +
176    "<VAR id=\"x\" />" +
177    "</PREDVAR>" +
178    "</CLASS>" +
179    "<VAR id=\"y\" />" +
180    "</FUNVAR>" +
181    "</PREDCON>" +
182    "</FORALL>" +
183    "</FORALL>" +
184    "</AND>");
185    // System.out.println(ele1.toString());
186   
187  1 final Element ele2 = BasicParser.createElement(
188    "<FUNCON id=\"union\">" +
189    "<VAR id=\"v\" />" +
190    "<VAR id=\"u\" />" +
191    "<VAR id=\"v\" />" +
192    "</FUNCON>");
193    // System.out.println(ele2.toString());
194   
195  1 final Element ele3 = BasicParser.createElement(
196    "<AND>\r\n" +
197    " <FORALL>\r\n" +
198    " <VAR id=\"x\"/>\r\n" +
199    " <PREDCON ref=\"equal\">\r\n" +
200    " <FUNCON ref=\"union\">\r\n" +
201    " <VAR id=\"x\"/>\r\n" +
202    " <VAR id=\"x\"/>\r\n" +
203    " <VAR id=\"x\"/>\r\n" +
204    " </FUNCON>\r\n" +
205    " <VAR id=\"x\"/>\r\n" +
206    " </PREDCON>\r\n" +
207    " </FORALL>\r\n" +
208    " <FORALL>\r\n" +
209    " <VAR id=\"y\"/>\r\n" +
210    " <FORALL>\r\n" +
211    " <VAR id=\"z\"/>\r\n" +
212    " <PREDCON ref=\"equal\">\r\n" +
213    " <VAR id=\"z\"/>\r\n" +
214    " <FUNCON ref=\"union\">\r\n" +
215    " <VAR id=\"y\"/>\r\n" +
216    " <CLASS>\r\n" +
217    " <VAR id=\"x\"/>\r\n" +
218    " <PREDVAR id=\"\\phi\">\r\n" +
219    " <VAR id=\"x\"/>\r\n" +
220    " </PREDVAR>\r\n" +
221    " </CLASS>\r\n" +
222    " <VAR id=\"y\"/>\r\n" +
223    " </FUNCON>\r\n" +
224    " </PREDCON>\r\n" +
225    " </FORALL>\r\n" +
226    " </FORALL>\r\n" +
227    "</AND>\r\n" +
228    "");
229   
230    // println(ele1);
231    // println(funVar1);
232    // println(ele2);
233    // println(FormulaUtility.replaceOperatorVariable(ele1, funVar1, ele2));
234    // printlnXml(FormulaUtility.replaceOperatorVariable(ele1, funVar1, ele2));
235  1 assertTrue(ele3.equals(FormulaUtility.replaceOperatorVariable(ele1, funVar1, ele2)));
236    }
237   
 
238  0 toggle public void println(final Element element) {
239  0 ModuleLabels labels = new ModuleLabels();
240  0 Element2LatexImpl converter = new Element2LatexImpl(labels);
241  0 Element2Utf8Impl textConverter = new Element2Utf8Impl(converter);
242  0 System.out.println(textConverter.getUtf8(element));
243    }
244   
245    }