This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch refactoring/java_generify
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git


The following commit(s) were added to refs/heads/refactoring/java_generify by 
this push:
     new 88a32d3  added basic test implementation for S7Protocol
88a32d3 is described below

commit 88a32d39f1f0030a0b6a54cb6216b76b1d6605dd
Author: Sebastian Rühl <sru...@apache.org>
AuthorDate: Thu Jan 4 13:28:45 2018 +0100

    added basic test implementation for S7Protocol
---
 .../apache/plc4x/java/s7/netty/S7ProtocolTest.java | 62 ++++++++++++++++++++--
 1 file changed, 58 insertions(+), 4 deletions(-)

diff --git 
a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java
 
b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java
index affd823..13b3b4c 100644
--- 
a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java
+++ 
b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java
@@ -18,22 +18,76 @@ under the License.
 */
 package org.apache.plc4x.java.s7.netty;
 
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+import org.apache.plc4x.java.isotp.netty.model.IsoTPMessage;
+import org.apache.plc4x.java.isotp.netty.model.tpdus.Tpdu;
 import org.apache.plc4x.java.netty.NettyTestBase;
+import org.apache.plc4x.java.s7.netty.model.messages.S7RequestMessage;
+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.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.BeforeEach;
 import org.junit.jupiter.api.Tag;
 import org.junit.jupiter.api.Test;
 
+import java.util.LinkedList;
+
+import static java.util.Collections.singletonList;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+
 public class S7ProtocolTest extends NettyTestBase {
 
+    private S7Protocol SUT;
+
+    @BeforeEach
+    void setUp() {
+        SUT = new S7Protocol((short) 1, (short) 1, (short) 1);
+    }
+
     @Test
     @Tag("fast")
-    public void encode() {
-        //TODO: implement me
+    public void encode() throws Exception {
+        //TODO: finish me
+        LinkedList<Object> out = new LinkedList<>();
+        SUT.encode(null, new S7RequestMessage(
+            MessageType.ACK,
+            (short) 1,
+            singletonList(new VarParameter(ParameterType.WRITE_VAR, 
singletonList(new S7AnyVarParameterItem(
+                SpecificationType.VARIABLE_SPECIFICATION, 
MemoryArea.DATA_BLOCKS, TransportSize.BIT, (short) 1, (short) 1, (short) 1, 
(byte) 1
+            )))),
+            singletonList(new VarPayload(
+                ParameterType.WRITE_VAR,
+                singletonList(new VarPayloadItem(
+                    DataTransportErrorCode.OK,
+                    DataTransportSize.BYTE_WORD_DWORD, new byte[]{0})
+                ))
+            )), out);
+        assertThat(out).hasSize(1);
     }
 
     @Test
     @Tag("fast")
-    public void decode() {
-        //TODO: implement me
+    public void decode() throws Exception {
+        //TODO: finish me
+        LinkedList<Object> out = new LinkedList<>();
+        ByteBuf buffer = Unpooled.buffer();
+        // Magic Number
+        buffer.writeByte(0x32);
+        buffer.writeByte(MessageType.JOB.getCode());
+        // Reserved magic value
+        buffer.writeShort(0x0000);
+        // tpduReference
+        buffer.writeShort(0x0000);
+        // headerParametersLength
+        buffer.writeShort(0x0000);
+        // userDataLength
+        buffer.writeShort(0x0000);
+        SUT.decode(null, new IsoTPMessage(mock(Tpdu.class), buffer), out);
+        assertThat(out).hasSize(1);
     }
 
 }

-- 
To stop receiving notification emails like this one, please contact
['"commits@plc4x.apache.org" <commits@plc4x.apache.org>'].

Reply via email to