You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by jm...@apache.org on 2017/12/28 00:47:52 UTC
[incubator-plc4x] 14/19: add a few more tests
This is an automated email from the ASF dual-hosted git repository.
jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit 6fa05fa93627000a58b2f8d444ac821f16071489
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Thu Dec 28 09:12:27 2017 +1100
add a few more tests
---
.../s7/netty/model/messages/S7MessageTests.java | 72 +++++++++++++++++++++-
1 file changed, 71 insertions(+), 1 deletion(-)
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java
index 5a1831a..ddd19a4 100644
--- a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java
@@ -19,9 +19,15 @@ under the License.
package org.apache.plc4x.java.s7.netty.model.messages;
+import org.apache.plc4x.java.s7.netty.model.params.CpuServicesParameter;
import org.apache.plc4x.java.s7.netty.model.params.S7Parameter;
+import org.apache.plc4x.java.s7.netty.model.params.VarParameter;
+import org.apache.plc4x.java.s7.netty.model.params.items.S7AnyVarParameterItem;
+import org.apache.plc4x.java.s7.netty.model.params.items.VarParameterItem;
import org.apache.plc4x.java.s7.netty.model.payloads.S7Payload;
-import org.apache.plc4x.java.s7.netty.model.types.MessageType;
+import org.apache.plc4x.java.s7.netty.model.payloads.VarPayload;
+import org.apache.plc4x.java.s7.netty.model.payloads.items.VarPayloadItem;
+import org.apache.plc4x.java.s7.netty.model.types.*;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
@@ -57,6 +63,8 @@ class S7MessageTests {
assertTrue(message.getTpduReference() == tpduReference, "Unexpected tpdu value");
assertTrue(message.getMessageType() == MessageType.USER_DATA, "Unexpected message type");
+ assertTrue(message.getPayloads() == null, "Unexpected payloads");
+ assertTrue(message.getParameters() == null, "Unexpected parameters");
}
@Test
@@ -75,7 +83,69 @@ class S7MessageTests {
assertTrue(message.getMessageType() == MessageType.USER_DATA, "Unexpected message type");
assertTrue(message.getErrorClass() == 0x1, "Unexpected error class");
assertTrue(message.getErrorCode() == 0x23, "Unexpected error code");
+ assertTrue(message.getPayloads() == null, "Unexpected payloads");
+ assertTrue(message.getParameters() == null, "Unexpected parameters");
}
+ @Test
+ @Tag("fast")
+ void s7MessageParameters() {
+ MessageType messageType = MessageType.USER_DATA;
+ short tpduReference = 1;
+ ArrayList<S7Parameter> s7Parameters = new ArrayList<>();
+ ArrayList<S7Payload> s7Payloads = new ArrayList<>();
+ ParameterType parameterType = ParameterType.READ_VAR;
+ ArrayList<VarParameterItem> parameterItems = new ArrayList<>();
+ SpecificationType specificationType = SpecificationType.VARIABLE_SPECIFICATION;
+ MemoryArea memoryArea = MemoryArea.DATA_BLOCKS;
+ TransportSize transportSize = TransportSize.INT;
+ short numElements = 1;
+ byte dataBlock = (byte) 0x1;
+ byte byteOffset = (byte) 0x10;
+ byte bitOffset = (byte) 0x0;
+
+ parameterItems.add(new S7AnyVarParameterItem(specificationType, memoryArea, transportSize, numElements, dataBlock, byteOffset, bitOffset));
+
+ VarParameter varParameter = new VarParameter(parameterType, parameterItems);
+
+ s7Parameters.add(varParameter);
+
+ S7RequestMessage message = new S7RequestMessage(messageType, tpduReference, s7Parameters, s7Payloads);
+
+ assertTrue(message.getTpduReference() == tpduReference, "Unexpected tpdu value");
+ assertTrue(message.getMessageType() == MessageType.USER_DATA, "Unexpected message type");
+ assertTrue(message.getParameters().size() == 1, "Unexpected number of parameters");
+ assertTrue(message.getParameters().containsAll(s7Parameters), "Unexpected parameters");
+ assertTrue(message.getParameter(VarParameter.class).equals(varParameter), "Parameter missing");
+ assertTrue(message.getParameter(CpuServicesParameter.class) == null, "Contains unexpected parameter");
+ assertTrue(message.getPayloads().size() == 0, "Unexpected number of payloads");
+ }
+
+ @Test
+ @Tag("fast")
+ void s7MessagePayload() {
+ MessageType messageType = MessageType.USER_DATA;
+ short tpduReference = 1;
+ ArrayList<S7Parameter> s7Parameters = new ArrayList<>();
+ ArrayList<S7Payload> s7Payloads = new ArrayList<>();
+ ParameterType parameterType = ParameterType.WRITE_VAR;
+ ArrayList<VarPayloadItem> payloadItems = new ArrayList<>();
+ byte[] data = {(byte)0x79};
+ VarPayload varPayload;
+
+ payloadItems.add(new VarPayloadItem(DataTransportErrorCode.OK, DataTransportSize.BIT, data));
+ varPayload = new VarPayload(parameterType, payloadItems);
+ s7Payloads.add(varPayload);
+
+ S7RequestMessage message = new S7RequestMessage(messageType, tpduReference, s7Parameters, s7Payloads);
+
+ assertTrue(message.getTpduReference() == tpduReference, "Unexpected tpdu value");
+ assertTrue(message.getMessageType() == MessageType.USER_DATA, "Unexpected message type");
+ assertTrue(message.getPayloads().size() == 1, "Unexpected number of payloads");
+ assertTrue(message.getPayloads().containsAll(s7Payloads), "Unexpected payloads");
+ assertTrue(message.getPayload(VarPayload.class).equals(varPayload), "Payload missing");
+ assertTrue(message.getPayload(VarParameter.class) == null, "Contains unexpected payload"); // No other parameter classes
+ assertTrue(message.getParameters().size() == 0, "Unexpected number of parameters");
+ }
}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.