Skip to content

Package: DefinedNode

DefinedNode

nameinstructionbranchcomplexitylinemethod
DefinedNode(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: 35
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 6
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.BooleanValue;
8:
9: /**
10: * DefinedNode liefert true zurueck, wenn die Variable existiert.
11: *
12: * @author group B5
13: *
14: */
15: public class DefinedNode extends AbstractUnaryOperationNode {
16:         /**
17:          * DefinedNode.
18:          *
19:          * @param operand
20:          * AbstractNode
21:          */
22:         public DefinedNode(final AbstractNode operand) {
23:                 super(operand);
24:         }
25:
26:         @Override
27:         public String toString() {
28:                 return PruefskriptConstants.DEFINEDTITLE + PruefskriptConstants.BRACKET_OPEN
29:                                 + super.toString() + PruefskriptConstants.BRACKET_CLOSE;
30:         }
31:
32:         @Override
33:         public boolean equals(final Object obj) {
34:•                return super.equals(obj) && obj instanceof DefinedNode;
35:
36:         }
37:
38:         @Override
39:         public int hashCode() {
40:                 return super.hashCode() + PruefskriptConstants.DEFINEDNODE_HASHCODE;
41:         }
42:
43:         @Override
44:         public BooleanValue interpret(final CommunicationManager mgr) throws CheckScriptException {
45:                 final String id;
46:•                if (this.getOperand().isIDNode()) {
47:                         id = this.getOperand().toIDNode().getName();
48:•                } else if (this.getOperand().isIDSetNode()) {
49:                         id = this.getOperand().toIDSetNode().getName();
50:                 } else {
51:                         throw new WrongNodeException(PruefskriptConstants.UNEXPECTED_STRING);
52:                 }
53:                 return new BooleanValue(mgr.containsVariable(id));
54:
55:         }
56: }