You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2018/02/13 08:49:12 UTC

[incubator-plc4x] branch master updated: Improved test-coverage

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 1eae1c9  Improved test-coverage
1eae1c9 is described below

commit 1eae1c9c094f8d14195aa238276ca9d919da312c
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Tue Feb 13 09:49:09 2018 +0100

    Improved test-coverage
---
 .../java/s7/netty/model/types/HeaderErrorClass.java   | 15 +++++++++++++++
 .../java/s7/netty/model/types/ParameterError.java     | 15 +++++++++++++++
 .../plc4x/java/s7/netty/model/types/S7TypeTests.java  | 19 +++++++++++++------
 3 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java
index 3859b82..b2b5844 100644
--- a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java
+++ b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java
@@ -18,6 +18,9 @@ under the License.
 */
 package org.apache.plc4x.java.s7.netty.model.types;
 
+import java.util.HashMap;
+import java.util.Map;
+
 public enum HeaderErrorClass {
     NO_ERROR((byte) 0x00),
     APPLICATION_RELATIONSHIP_ERROR((byte) 0x81),
@@ -27,6 +30,8 @@ public enum HeaderErrorClass {
     ERROR_ON_SUPPLIES((byte) 0x85),
     ACCESS_ERROR((byte) 0x87);
 
+    private static Map<Byte, HeaderErrorClass> map = null;
+
     private final byte code;
 
     HeaderErrorClass(byte code) {
@@ -37,4 +42,14 @@ public enum HeaderErrorClass {
         return code;
     }
 
+    public static HeaderErrorClass valueOf(byte code) {
+        if (map == null) {
+            map = new HashMap<>();
+            for (HeaderErrorClass headerErrorClass : HeaderErrorClass.values()) {
+                map.put(headerErrorClass.code, headerErrorClass);
+            }
+        }
+        return map.get(code);
+    }
+
 }
diff --git a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/ParameterError.java b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/ParameterError.java
index 564d9b3..46e8c8e 100644
--- a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/ParameterError.java
+++ b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/ParameterError.java
@@ -18,6 +18,9 @@ under the License.
 */
 package org.apache.plc4x.java.s7.netty.model.types;
 
+import java.util.HashMap;
+import java.util.Map;
+
 public enum ParameterError {
     NO_ERROR((short) 0x0000),
     INVALID_BLOCK_TYPE_NUMBER((short) 0x0110),
@@ -42,6 +45,8 @@ public enum ParameterError {
     L7_UNKNOWN_REQUEST((short) 0xD802),
     L7_INVALID_REQUEST_STATUS((short) 0xD803);
 
+    private static Map<Short, ParameterError> map = null;
+
     private final short code;
 
     ParameterError(short code) {
@@ -52,4 +57,14 @@ public enum ParameterError {
         return code;
     }
 
+    public static ParameterError valueOf(short code) {
+        if (map == null) {
+            map = new HashMap<>();
+            for (ParameterError parameterError : ParameterError.values()) {
+                map.put(parameterError.code, parameterError);
+            }
+        }
+        return map.get(code);
+    }
+
 }
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java
index ed810f0..0cb8886 100644
--- a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java
@@ -39,9 +39,10 @@ public class S7TypeTests {
     @Test
     @Category(FastTests.class)
     public void unknownDataTransportErrorCode() {
-        DataTransportErrorCode dataTransportErrorCode = DataTransportErrorCode.INVALID_ADDRESS;
-
         assertThat(DataTransportErrorCode.valueOf((byte)0xFE)).isNull();
+
+        DataTransportErrorCode dataTransportErrorCode = DataTransportErrorCode.INVALID_ADDRESS;
+        assertThat(dataTransportErrorCode.getCode()).isEqualTo((byte) 0x05).withFailMessage("code is not 0x05");
     }
 
     @Test
@@ -57,22 +58,28 @@ public class S7TypeTests {
     @Test
     @Category(FastTests.class)
     public void headerErrorClass() {
-        //TODO missing valueOf
+        assertThat(HeaderErrorClass.valueOf((byte) 0x87)).isEqualTo(HeaderErrorClass.ACCESS_ERROR).withFailMessage("0x87 incorrectly mapped");
+
+        HeaderErrorClass headerErrorClass = HeaderErrorClass.ACCESS_ERROR;
+        assertThat(headerErrorClass.getCode()).isEqualTo((byte) 0x87).withFailMessage("code is not 0x87");
     }
 
     @Test
     @Category(FastTests.class)
     public void messageType() {
-        MessageType messageType = MessageType.ACK;
-
         assertThat(MessageType.valueOf((byte)2)).isEqualTo(MessageType.ACK).withFailMessage("2 incorrectly mapped");
+
+        MessageType messageType = MessageType.ACK;
         assertThat(messageType.getCode()).isEqualTo((byte)2).withFailMessage("code is not 2");
     }
 
     @Test
     @Category(FastTests.class)
     public void parameterError() {
-        //TODO missing value of
+        assertThat(ParameterError.valueOf((short) 0x011C)).isEqualTo(ParameterError.PROTOCOL_ERROR).withFailMessage("0x011C incorrectly mapped");;
+
+        ParameterError parameterError = ParameterError.PROTOCOL_ERROR;
+        assertThat(parameterError.getCode()).isEqualTo((short) 0x011C).withFailMessage("code is not 0x011C");
     }
 
     @Test

-- 
To stop receiving notification emails like this one, please contact
cdutz@apache.org.