Skip to content

Package: SamenetNode

SamenetNode

nameinstructionbranchcomplexitylinemethod
SamenetNode(AbstractNode, AbstractNode)
M: 0 C: 5
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: 48
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 8
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 org.apache.commons.net.util.SubnetUtils;
4:
5: import basic.PruefskriptConstants;
6: import pruefskript.CommunicationManager;
7: import pruefskript.parser.exceptions.CheckScriptException;
8: import pruefskript.parser.exceptions.WrongNodeException;
9: import pruefskript.parser.values.AbstractReturnValue;
10: import pruefskript.parser.values.BooleanValue;
11:
12: /**
13: * SamenetNode.
14: *
15: * @author Group B5
16: *
17: */
18: public class SamenetNode extends AbstractBinaryOperationNode {
19:         /**
20:          * SamenetNode.
21:          *
22:          * @param operand1
23:          * AbstractNode
24:          * @param operand2
25:          * AbstractNode
26:          */
27:         public SamenetNode(final AbstractNode operand1, final AbstractNode operand2) {
28:                 super(operand1, operand2);
29:         }
30:
31:         @Override
32:         public String toString() {
33:                 return PruefskriptConstants.SAMENETNODETITLE + PruefskriptConstants.BRACKET_OPEN
34:                                 + super.toString() + PruefskriptConstants.BRACKET_CLOSE;
35:         }
36:
37:         @Override
38:         public boolean equals(final Object obj) {
39:•                return super.equals(obj) && obj instanceof SamenetNode;
40:
41:         }
42:
43:         @Override
44:         public int hashCode() {
45:                 return super.hashCode() + PruefskriptConstants.SAMENETNODE_HASHCODE;
46:         }
47:
48:         @Override
49:         public BooleanValue interpret(final CommunicationManager mgr) throws CheckScriptException {
50:                 final AbstractReturnValue op1 = this.getOperand1().interpret(mgr);
51:                 final AbstractReturnValue op2 = this.getOperand2().interpret(mgr);
52:•                if (op1.isStringValue() && op2.isStringValue()) {
53:                         final SubnetUtils utils = new SubnetUtils(op1.toStringValue().getValue());
54:                         final String ip =
55:                                         new SubnetUtils(op2.toStringValue().getValue()).getInfo().getAddress();
56:                         return new BooleanValue(utils.getInfo().isInRange(ip));
57:                 } else {
58:                         throw new WrongNodeException(PruefskriptConstants.UNEXPECTED_STRING_OPERATION);
59:                 }
60:
61:         }
62: }