Skip to content

Package: AbstractTrinaryOperationNode

AbstractTrinaryOperationNode

nameinstructionbranchcomplexitylinemethod
AbstractTrinaryOperationNode(AbstractNode, AbstractNode, AbstractNode)
M: 0 C: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
equals(Object)
M: 0 C: 28
100%
M: 0 C: 8
100%
M: 0 C: 5
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
getOperand1()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getOperand2()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getOperand3()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
hashCode()
M: 0 C: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
toString()
M: 0 C: 21
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%

Coverage

1: package pruefskript.parser.nodes;
2:
3: import scanner.ScannerConstants;
4:
5: /**
6: * AbstractTrinaryOperationNode.
7: *
8: * @author group B5
9: *
10: */
11: public abstract class AbstractTrinaryOperationNode extends AbstractNode {
12:         /**
13:          * final AbstractNode Variablen operand1, operand2, operand3.
14:          */
15:         private final AbstractNode operand1, operand2, operand3;
16:
17:         /**
18:          *
19:          * @param operand1
20:          * AbstractNode
21:          * @param operand2
22:          * AbstractNode
23:          * @param operand3
24:          * AbstractNode
25:          */
26:         public AbstractTrinaryOperationNode(final AbstractNode operand1, final AbstractNode operand2,
27:                         final AbstractNode operand3) {
28:                 super();
29:                 this.operand1 = operand1;
30:                 this.operand2 = operand2;
31:                 this.operand3 = operand3;
32:         }
33:
34:         @Override
35:         public String toString() {
36:                 return this.getOperand1().toString() + ScannerConstants.COMMA
37:                                 + this.getOperand2().toString() + ScannerConstants.COMMA
38:                                 + this.getOperand3().toString();
39:         }
40:
41:         /**
42:          * Equals-Funktion, die prueft, ob das Objekt obj vom Typ AbstractBinaryOperationNode ist, und
43:          * ob von dem Objekt obj Operant 1,2,3, mit dem jeweiligen Operant 1,2,3 dieser Klasse
44:          * uebereinstimmt.
45:          *
46:          * @return true oder false
47:          */
48:         @Override
49:         public boolean equals(final Object obj) {
50:•                return obj instanceof AbstractTrinaryOperationNode
51:•                                && ((AbstractTrinaryOperationNode) obj).getOperand1().equals(this.getOperand1())
52:•                                && ((AbstractTrinaryOperationNode) obj).getOperand2().equals(this.getOperand2())
53:•                                && ((AbstractTrinaryOperationNode) obj).getOperand3().equals(this.getOperand3());
54:         }
55:
56:         @Override
57:         public int hashCode() {
58:                 return this.getOperand1().hashCode() + this.getOperand2().hashCode()
59:                                 + this.getOperand3().hashCode();
60:         }
61:
62:         /**
63:          * Getter fuer operand1
64:          *
65:          * @return operand1
66:          */
67:         public AbstractNode getOperand1() {
68:                 return this.operand1;
69:         }
70:
71:         /**
72:          * Getter fuer operand2
73:          *
74:          * @return operand2
75:          */
76:         public AbstractNode getOperand2() {
77:                 return this.operand2;
78:         }
79:
80:         /**
81:          * Getter fuer operand3
82:          *
83:          * @return operand3
84:          */
85:         public AbstractNode getOperand3() {
86:                 return this.operand3;
87:         }
88:
89: }