|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubstPredVo | Line # 29 | 40 | 27 | 100% |
1.0
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
(29) | |||
Result | |||
0.84210527
|
org.qedeq.kernel.se.test.AbstractValueObjectTestCase.testAll org.qedeq.kernel.se.test.AbstractValueObjectTestCase.testAll | 1 PASS | |
0.6315789
|
org.qedeq.kernel.bo.latex.GenerateLatexTest.testNegativeGeneration2 org.qedeq.kernel.bo.latex.GenerateLatexTest.testNegativeGeneration2 | 1 PASS | |
0.6315789
|
org.qedeq.kernel.bo.latex.GenerateLatexTest.testGeneration2 org.qedeq.kernel.bo.latex.GenerateLatexTest.testGeneration2 | 1 PASS | |
0.6315789
|
org.qedeq.kernel.bo.latex.GenerateLatexTest.testGeneration2 org.qedeq.kernel.bo.latex.GenerateLatexTest.testGeneration2 | 1 PASS | |
0.6315789
|
org.qedeq.kernel.bo.latex.GenerateLatexTest.testNegativeGeneration2 org.qedeq.kernel.bo.latex.GenerateLatexTest.testNegativeGeneration2 | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3b org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3b | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPlugin org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPlugin | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind2 org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind2 | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration1b org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration1b | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPlugin2 org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPlugin2 | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.latex.GenerateLatexTest.testGeneration org.qedeq.kernel.bo.latex.GenerateLatexTest.testGeneration | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3c org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3c | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPluginFast org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPluginFast | 1 PASS | |
0.55263156
|
org.qedeq.kernel.bo.latex.GenerateLatexTest.testGeneration org.qedeq.kernel.bo.latex.GenerateLatexTest.testGeneration | 1 PASS | |
0.18421052
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin2 org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin2 | 1 PASS | |
0.18421052
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin | 1 PASS | |
0.18421052
|
org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck4 org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck4 | 1 PASS | |
0.18421052
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin4 org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin4 | 1 PASS | |
0.18421052
|
org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck1 org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck1 | 1 PASS | |
0.18421052
|
org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck6 org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck6 | 1 PASS | |
0.18421052
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin3 org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin3 | 1 PASS | |
0.17105263
|
org.qedeq.kernel.se.dto.module.SubstPredVoTest.testGetSubstPred org.qedeq.kernel.se.dto.module.SubstPredVoTest.testGetSubstPred | 1 PASS | |
0.15789473
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive03b org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive03b | 1 PASS | |
0.15789473
|
org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind3 org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind3 | 1 PASS | |
0.15789473
|
org.qedeq.kernel.xml.dao.GenerateXmlTest.testGeneration org.qedeq.kernel.xml.dao.GenerateXmlTest.testGeneration | 1 PASS | |
0.14473684
|
org.qedeq.kernel.se.visitor.QedeqNotNullTraverserTest.testQedeq org.qedeq.kernel.se.visitor.QedeqNotNullTraverserTest.testQedeq | 1 PASS | |
0.078947365
|
org.qedeq.kernel.se.dto.module.SubstPredVoTest.testGetReferences org.qedeq.kernel.se.dto.module.SubstPredVoTest.testGetReferences | 1 PASS | |
0.02631579
|
org.qedeq.kernel.se.dto.module.SubstPredVoTest.testGetName org.qedeq.kernel.se.dto.module.SubstPredVoTest.testGetName | 1 PASS | |
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.se.dto.module; | |
17 | ||
18 | import org.apache.commons.lang.ArrayUtils; | |
19 | import org.qedeq.base.utility.EqualsUtility; | |
20 | import org.qedeq.kernel.se.base.list.Element; | |
21 | import org.qedeq.kernel.se.base.module.SubstPred; | |
22 | ||
23 | ||
24 | /** | |
25 | * Usage of rule for substitute predicate variable. | |
26 | * | |
27 | * @author Michael Meyling | |
28 | */ | |
29 | public class SubstPredVo implements SubstPred { | |
30 | ||
31 | /** Reference to previously proven formula. */ | |
32 | private String reference; | |
33 | ||
34 | /** Function variable that will be substituted. */ | |
35 | private Element predicateVariable; | |
36 | ||
37 | /** Replacement formula. */ | |
38 | private Element substituteFormula; | |
39 | ||
40 | /** | |
41 | * Constructs an reason. | |
42 | * | |
43 | * @param reference Reference to a valid formula. | |
44 | * @param predicateVariable Predicate variable that will be substituted. | |
45 | * @param substituteFormula Replacement formula. | |
46 | */ | |
47 | ||
48 | 4176 | public SubstPredVo(final String reference, final Element predicateVariable, |
49 | final Element substituteFormula) { | |
50 | 4176 | this.reference = reference; |
51 | 4176 | this.predicateVariable = predicateVariable; |
52 | 4176 | this.substituteFormula = substituteFormula; |
53 | } | |
54 | ||
55 | /** | |
56 | * Default constructor. | |
57 | */ | |
58 | 49 | public SubstPredVo() { |
59 | // nothing to do | |
60 | } | |
61 | ||
62 | 12232 | public SubstPred getSubstPred() { |
63 | 12232 | return this; |
64 | } | |
65 | ||
66 | 8980 | public String getReference() { |
67 | 8980 | return reference; |
68 | } | |
69 | ||
70 | /** | |
71 | * Set formula reference. | |
72 | * | |
73 | * @param reference Reference to formula. | |
74 | */ | |
75 | 16 | public void setReference(final String reference) { |
76 | 16 | this.reference = reference; |
77 | } | |
78 | ||
79 | 2 | public String[] getReferences() { |
80 | 2 | if (reference == null) { |
81 | 1 | return ArrayUtils.EMPTY_STRING_ARRAY; |
82 | } | |
83 | 1 | return new String[] {reference }; |
84 | } | |
85 | ||
86 | 17012 | public Element getPredicateVariable() { |
87 | 17012 | return predicateVariable; |
88 | } | |
89 | ||
90 | /** | |
91 | * Set predicate variable that will be substituted. | |
92 | * | |
93 | * @param predicateVariable Function variable that will be replaced. | |
94 | */ | |
95 | 18 | public void setPredicateVariable(final Element predicateVariable) { |
96 | 18 | this.predicateVariable = predicateVariable; |
97 | } | |
98 | ||
99 | 23674 | public Element getSubstituteFormula() { |
100 | 23674 | return substituteFormula; |
101 | } | |
102 | ||
103 | /** | |
104 | * Set substitution formula. | |
105 | * | |
106 | * @param substituteFormula New formula. | |
107 | */ | |
108 | 18 | public void setSubstituteFormula(final Element substituteFormula) { |
109 | 18 | this.substituteFormula = substituteFormula; |
110 | } | |
111 | ||
112 | 2589 | public String getName() { |
113 | 2589 | return "SubstPred"; |
114 | } | |
115 | ||
116 | 49 | public boolean equals(final Object obj) { |
117 | 49 | if (!(obj instanceof SubstPred)) { |
118 | 5 | return false; |
119 | } | |
120 | 44 | final SubstPred other = (SubstPred) obj; |
121 | 44 | return EqualsUtility.equals(getReference(), other.getReference()) |
122 | && EqualsUtility.equals(predicateVariable, other.getPredicateVariable()) | |
123 | && EqualsUtility.equals(substituteFormula, other.getSubstituteFormula()); | |
124 | } | |
125 | ||
126 | 52 | public int hashCode() { |
127 | 52 | return (getReference() != null ? getReference().hashCode() : 0) |
128 | 52 | ^ (getPredicateVariable() != null ? 2 ^ getPredicateVariable().hashCode() : 0) |
129 | 52 | ^ (getSubstituteFormula() != null ? 3 ^ getSubstituteFormula().hashCode() : 0); |
130 | } | |
131 | ||
132 | 1178 | public String toString() { |
133 | 1178 | StringBuffer result = new StringBuffer(); |
134 | 1178 | result.append(getName()); |
135 | 1178 | if (getReference() != null || getPredicateVariable() != null |
136 | || getSubstituteFormula() != null) { | |
137 | 1154 | result.append(" ("); |
138 | 1154 | boolean w = false; |
139 | 1154 | if (getReference() != null) { |
140 | 1132 | result.append(getReference()); |
141 | 1132 | w = true; |
142 | } | |
143 | 1154 | if (getPredicateVariable() != null) { |
144 | 1122 | if (w) { |
145 | 1105 | result.append(", "); |
146 | } | |
147 | 1122 | result.append(getPredicateVariable()); |
148 | 1122 | w = true; |
149 | } | |
150 | 1154 | if (getSubstituteFormula() != null) { |
151 | 1120 | if (w) { |
152 | 1115 | result.append(", "); |
153 | } | |
154 | 1120 | result.append("by "); |
155 | 1120 | result.append(getSubstituteFormula()); |
156 | 1120 | w = true; |
157 | } | |
158 | 1154 | result.append(")"); |
159 | } | |
160 | 1178 | return result.toString(); |
161 | } | |
162 | ||
163 | } |
|