Skip to content

Package: NotNode

NotNode

nameinstructionbranchcomplexitylinemethod
NotNode(AbstractNode)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
equals(Object)
M: 0 C: 11
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
hashCode()
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
interpret(CommunicationManager)
M: 0 C: 27
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
toString()
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%

Coverage

1: package pruefskript.parser.nodes;
2:
3: import basic.PruefskriptConstants;
4: import pruefskript.CommunicationManager;
5: import pruefskript.parser.exceptions.CheckScriptException;
6: import pruefskript.parser.exceptions.WrongNodeException;
7: import pruefskript.parser.values.AbstractReturnValue;
8: import pruefskript.parser.values.BooleanValue;
9:
10: /**
11: * NotNode.
12: *
13: * @author Group B5
14: *
15: */
16: public class NotNode extends AbstractUnaryOperationNode {
17:         /**
18:          * NotNode.
19:          *
20:          * @param operand
21:          * AbstractNode
22:          */
23:         public NotNode(final AbstractNode operand) {
24:                 super(operand);
25:         }
26:
27:         @Override
28:         public String toString() {
29:                 return PruefskriptConstants.NOTNODETITLE + PruefskriptConstants.BRACKET_OPEN
30:                                 + super.toString() + PruefskriptConstants.BRACKET_CLOSE;
31:         }
32:
33:         @Override
34:         public boolean equals(final Object obj) {
35:•                return super.equals(obj) && obj instanceof NotNode;
36:
37:         }
38:
39:         @Override
40:         public int hashCode() {
41:                 return super.hashCode() + PruefskriptConstants.NOTNODE_HASHCODE;
42:         }
43:
44:         /**
45:          * Der Operant wird ausgewertet und handelt es sich um einen boolschen Wert, wird dieser negiert
46:          * zurueckgegeben. Ansonsten wird eine Exception geworfen.
47:          */
48:         @Override
49:         public BooleanValue interpret(final CommunicationManager mgr) throws CheckScriptException {
50:                 final AbstractReturnValue op = this.getOperand().interpret(mgr);
51:•                if (op.isBooleanValue()) {
52:•                        return new BooleanValue(!op.toBooleanValue().getValue());
53:                 } else {
54:                         throw new WrongNodeException(PruefskriptConstants.UNEXPECTED_BOOL_OPERATION);
55:                 }
56:
57:         }
58: }