Skip to content

Package: CopyPendingNode

CopyPendingNode

nameinstructionbranchcomplexitylinemethod
CopyPendingNode(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: 60
100%
M: 0 C: 6
100%
M: 0 C: 4
100%
M: 0 C: 10
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 model.assignment.VariableAssignment;
5: import pruefskript.CommunicationManager;
6: import pruefskript.parser.exceptions.CheckScriptException;
7: import pruefskript.parser.exceptions.VariableDoesNotExistException;
8: import pruefskript.parser.exceptions.WrongNodeException;
9: import pruefskript.parser.values.AbstractReturnValue;
10: import pruefskript.parser.values.BooleanValue;
11:
12: /**
13: * CopyPendingNode.
14: *
15: * @author group B5
16: *
17: */
18: public class CopyPendingNode extends AbstractUnaryOperationNode {
19:         /**
20:          * CopyPendingNode.
21:          *
22:          * @param operand
23:          * AbstractNode
24:          */
25:         public CopyPendingNode(final AbstractNode operand) {
26:                 super(operand);
27:         }
28:
29:         @Override
30:         public String toString() {
31:                 return PruefskriptConstants.COPY_PENDINGNODETITLE + PruefskriptConstants.BRACKET_OPEN
32:                                 + super.toString() + PruefskriptConstants.BRACKET_CLOSE;
33:         }
34:
35:         @Override
36:         public boolean equals(final Object obj) {
37:•                return super.equals(obj) && obj instanceof CopyPendingNode;
38:
39:         }
40:
41:         @Override
42:         public int hashCode() {
43:                 return super.hashCode() + PruefskriptConstants.COPY_PENDINGNODE_HASHCODE;
44:         }
45:
46:         @Override
47:         public BooleanValue interpret(final CommunicationManager mgr) throws CheckScriptException {
48:                 final AbstractReturnValue op = this.getOperand().interpret(mgr);
49:                 final VariableAssignment configvar;
50:•                if (this.getOperand().isIDNode()) {
51:                         configvar = mgr.getVariableAssignment(this.getOperand().toIDNode().getName());
52:
53:•                } else if (op.isStringValue()) {
54:
55:                         configvar = mgr.getVariableAssignment(op.toStringValue().getValue().substring(1,
56:                                         op.toStringValue().getValue().length() - 1));
57:
58:                 } else {
59:                         throw new WrongNodeException(PruefskriptConstants.UNEXPECTED_STRING_OPERATION);
60:                 }
61:•                if (configvar == null) {
62:                         throw new VariableDoesNotExistException(op.getStringRepresentation());
63:                 }
64:                 return new BooleanValue(mgr.getRouterConfiguration().getArchGen().copyPending(configvar));
65:         }
66: }