|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DefaultElementList | Line # 34 | 78 | 51 | 100% |
1.0
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
(86) | |||
Result | |||
0.56953645
|
org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPlugin
![]() |
1 PASS | |
0.5562914
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin3
![]() |
1 PASS | |
0.54304636
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin
![]() |
1 PASS | |
0.54304636
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin2
![]() |
1 PASS | |
0.54304636
|
org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck6
![]() |
1 PASS | |
0.45695364
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin4
![]() |
1 PASS | |
0.45033112
|
org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind
![]() |
1 PASS | |
0.45033112
|
org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind2
![]() |
1 PASS | |
0.45033112
|
org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPlugin2
![]() |
1 PASS | |
0.45033112
|
org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPluginFast
![]() |
1 PASS | |
0.45033112
|
org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind3
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegativeGeneration2
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3b
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck4
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration1b
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_05
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck1
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testGeneration2
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_06
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegativeGeneration2
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testGeneration
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration3b
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration1b
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testGeneration2
![]() |
1 PASS | |
0.410596
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testGeneration
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_03
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_08
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_09
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration1
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testNegative02
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative08
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative07
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative07
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_04
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration1
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration4
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.heuristic.HeuristicCheckerPluginTest.testQedeqSetTheoryScript1
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.Qedeq2LatexTest.testQ2L002
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.logic.QedeqBoFormalLogicCheckerDirectTest.testNegative03
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative06
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration2
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.Qedeq2LatexTest.testQ2L003
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_07
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration3
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.basis.QedeqBoFactoryTest.testCreateStringQedeq6
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.xml.parser.CharsetParserTest.testParse2
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.heuristic.HeuristicCheckerPluginTest.testQedeqLogicScript1
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative05
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative05
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.logic.QedeqBoFormalLogicCheckerDirectTest.testNegative04
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration4
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative08
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.basis.QedeqBoFactoryTest.testCreateStringQedeq5
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.heuristic.HeuristicCheckerPluginTest.testQedeqSetTheoryScript2
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_02
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive04
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive03
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testNegative04
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.heuristic.HeuristicCheckerPluginTest.testQedeqLogicScript2
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.heuristic.DynamicHeuristicCheckerPluginTest.testQedeqSampleScript1
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.logic.QedeqBoFormalLogicCheckerTest.testCheckModule
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration2
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.Qedeq2LatexTest.testQ2L001_v1
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.logic.QedeqBoFormalLogicCheckerDirectTest.testNegative02
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive02
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.xml.parser.CharsetParserTest.testParse1
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative06
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.basis.QedeqBoFactoryTest.testCreateStringQedeq4
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testNegative03
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.service.latex.Qedeq2LatexTest.testQ2L001_v2
![]() |
1 PASS | |
0.397351
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive01
![]() |
1 PASS | |
0.38410595
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive03b
![]() |
1 PASS | |
0.29139072
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3c
![]() |
1 PASS | |
0.29139072
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration3c
![]() |
1 PASS | |
0.1986755
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_10
![]() |
1 PASS | |
0.1986755
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration7
![]() |
1 PASS | |
0.1986755
|
org.qedeq.kernel.xml.dao.GenerateXmlTest.testGeneration
![]() |
1 PASS | |
0.18543047
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_01
![]() |
1 PASS | |
0.18543047
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative02
![]() |
1 PASS | |
0.18543047
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative02
![]() |
1 PASS | |
0.18543047
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_11
![]() |
1 PASS | |
0.18543047
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testProof_003
![]() |
1 PASS | |
0.18543047
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_13
![]() |
1 PASS | |
0.18543047
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_12
![]() |
1 PASS | |
0.15231788
|
org.qedeq.kernel.bo.module.VisitorContextTest.testContext
![]() |
1 PASS | |
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.se.dto.list; | |
17 | ||
18 | import java.util.ArrayList; | |
19 | import java.util.Arrays; | |
20 | import java.util.List; | |
21 | ||
22 | import org.qedeq.kernel.se.base.list.Atom; | |
23 | import org.qedeq.kernel.se.base.list.Element; | |
24 | import org.qedeq.kernel.se.base.list.ElementList; | |
25 | ||
26 | ||
27 | /** | |
28 | * Every Operator must inherit from this class. Its main function is to | |
29 | * provide the standard implementation of {@link #equals} | |
30 | * and {@link #hashCode}. | |
31 | * | |
32 | * @author Michael Meyling | |
33 | */ | |
34 | public final class DefaultElementList implements ElementList { | |
35 | ||
36 | /** Operator string, e.g. "AND". */ | |
37 | private final String operator; | |
38 | ||
39 | /** Here is are the elements stored. */ | |
40 | private final List elements; | |
41 | ||
42 | ||
43 | /** | |
44 | * Constructs an element list with no elements. | |
45 | * | |
46 | * @param operator Operator name. | |
47 | * @throws IllegalArgumentException Element or operator was a NullPointer. | |
48 | */ | |
49 | 1348605 |
![]() |
50 | 1348605 | if (operator == null) { |
51 | 1 | throw new IllegalArgumentException( |
52 | "NullPointer as operator is not allowed"); | |
53 | } | |
54 | 1348604 | this.operator = operator; |
55 | 1348604 | this.elements = new ArrayList(); |
56 | } | |
57 | ||
58 | /** | |
59 | * Constructs an element list. | |
60 | * | |
61 | * @param operator Operator name. | |
62 | * @param elements the elements to make a list of | |
63 | * @throws IllegalArgumentException Element or operator was a NullPointer. | |
64 | */ | |
65 | 388241 |
![]() |
66 | 388241 | if (operator == null) { |
67 | 1 | throw new IllegalArgumentException( |
68 | "NullPointer as operator is not allowed"); | |
69 | } | |
70 | 388240 | if (elements == null) { |
71 | 1 | throw new IllegalArgumentException( |
72 | "NullPointer as element array is not allowed"); | |
73 | } | |
74 | 388239 | this.operator = operator; |
75 | 388239 | this.elements = new ArrayList(Arrays.asList(elements)); |
76 | } | |
77 | ||
78 | 30423841 |
![]() |
79 | 30423841 | return false; |
80 | } | |
81 | ||
82 | 2 |
![]() |
83 | 2 | throw new ClassCastException("this is no " + Atom.class.getName() |
84 | + ", but a " + this.getClass().getName()); | |
85 | } | |
86 | ||
87 | 4238763 |
![]() |
88 | 4238763 | return true; |
89 | } | |
90 | ||
91 | 356397463 |
![]() |
92 | 356397463 | return this; |
93 | } | |
94 | ||
95 | 2006257537 |
![]() |
96 | 2006257537 | return this.operator; |
97 | } | |
98 | ||
99 | 1740624731 |
![]() |
100 | 1740624731 | return this.elements.size(); |
101 | } | |
102 | ||
103 | 1427113733 |
![]() |
104 | 1427113733 | if (i >= 0 && i < elements.size()) { |
105 | 1427113728 | return (Element) elements.get(i); |
106 | } | |
107 | 5 | if (size() == 0) { |
108 | 3 | throw new IllegalArgumentException( |
109 | "there are no elements, therefore no element number " | |
110 | + i); | |
111 | } | |
112 | 2 | throw new IllegalArgumentException( |
113 | "there is no element number " + i | |
114 | + " the maximum element number is " + size()); | |
115 | } | |
116 | ||
117 | 3 |
![]() |
118 | 3 | return this.elements; |
119 | } | |
120 | ||
121 | 987495959 |
![]() |
122 | // first we check if we compare us with ourself | |
123 | 987495959 | if (this == object) { |
124 | 1898616 | return true; |
125 | } | |
126 | 985597343 | if (object == null) { |
127 | 38 | return false; |
128 | } | |
129 | 985597305 | if (object.getClass() == this.getClass()) { |
130 | 985597301 | final ElementList element = (ElementList) object; |
131 | 985597301 | if (getOperator().equals(element.getOperator()) |
132 | && size() == element.size()) { | |
133 | 597199494 | for (int i = 0; i < size(); i++) { |
134 | 572097536 | if (!getElement(i).equals(element.getElement(i))) { |
135 | 523215144 | return false; |
136 | } | |
137 | } | |
138 | 25101958 | return true; |
139 | } | |
140 | } | |
141 | 437280203 | return false; |
142 | } | |
143 | ||
144 | 429 |
![]() |
145 | 429 | final Element[] copied = new Element[size()]; |
146 | 895 | for (int i = 0; i < size(); i++) { |
147 | 466 | copied[i] = getElement(i).copy(); |
148 | } | |
149 | 429 | return new DefaultElementList(getOperator(), copied); |
150 | } | |
151 | ||
152 | 885 |
![]() |
153 | final Element replacement) { | |
154 | 885 | if (this.equals(search)) { |
155 | 223 | return replacement.copy(); |
156 | } | |
157 | 662 | final Element[] replaced = new Element[size()]; |
158 | 1851 | for (int i = 0; i < size(); i++) { |
159 | 1189 | replaced[i] = getElement(i).replace(search, replacement); |
160 | } | |
161 | 662 | return new DefaultElementList(getOperator(), replaced); |
162 | } | |
163 | ||
164 | 2852023 |
![]() |
165 | 2852023 | if (element == null) { |
166 | 1 | throw new IllegalArgumentException( |
167 | "NullPointer couldn't be added"); | |
168 | } | |
169 | 2852022 | this.elements.add(element); |
170 | } | |
171 | ||
172 | 9 |
![]() |
173 | 9 | if (element == null) { |
174 | 1 | throw new IllegalArgumentException( |
175 | "NullPointer couldn't be inserted"); | |
176 | } | |
177 | 8 | if (position >= 0 && position <= this.elements.size()) { |
178 | 4 | this.elements.add(position, element); |
179 | } else { | |
180 | 4 | throw new IllegalArgumentException( |
181 | "allowed set is {0" | |
182 | 4 | + (this.elements.size() > 0 ? ", .. " |
183 | + this.elements.size() : "") | |
184 | + "}, and " + position + " is not in this set"); | |
185 | } | |
186 | } | |
187 | ||
188 | 8 |
![]() |
189 | 8 | if (element == null) { |
190 | 1 | throw new IllegalArgumentException( |
191 | "NullPointer is no element"); | |
192 | } | |
193 | 7 | if (position >= 0 && position < this.elements.size()) { |
194 | 1 | this.elements.set(position, element); |
195 | 1 | return; |
196 | } | |
197 | 6 | if (size() == 0) { |
198 | 3 | throw new IllegalArgumentException( |
199 | "there are no elements, therefore no element number " | |
200 | + position + " could be replaced"); | |
201 | } | |
202 | 3 | if (size() > 1) { |
203 | 1 | throw new IllegalArgumentException( |
204 | "there is no element number " + position | |
205 | + ", you have to choose a number between 0 and " + (size() - 1)); | |
206 | } | |
207 | 2 | throw new IllegalArgumentException( |
208 | "there is no element number " + position | |
209 | + ", you can only ask for the element at position 0"); | |
210 | } | |
211 | ||
212 | 8 |
![]() |
213 | 8 | if (i >= 0 && i < elements.size()) { |
214 | 5 | elements.remove(i); |
215 | 5 | return; |
216 | } | |
217 | 3 | if (size() == 0) { |
218 | 1 | throw new IllegalArgumentException( |
219 | "there are no elements, therefore no element number " | |
220 | + i + " could be removed"); | |
221 | } | |
222 | 2 | throw new IllegalArgumentException( |
223 | "there is no element number " + i | |
224 | + " the maximum element number is " + size()); | |
225 | } | |
226 | ||
227 | 1417701 |
![]() |
228 | 1417701 | return toString().hashCode(); |
229 | } | |
230 | ||
231 | 1423961 |
![]() |
232 | 1423961 | if (size() > 0) { |
233 | 1423939 | final StringBuffer buffer = new StringBuffer(getOperator() + " ( "); |
234 | 2849142 | for (int i = 0; i < size(); i++) { |
235 | 1425203 | if (i != 0) { |
236 | 1264 | buffer.append(", "); |
237 | } | |
238 | 1425203 | buffer.append(getElement(i)); |
239 | } | |
240 | 1423939 | buffer.append(")"); |
241 | 1423939 | return buffer.toString(); |
242 | } | |
243 | 22 | return getOperator(); |
244 | } | |
245 | ||
246 | } |
|