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 <christofer.d...@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 cd...@apache.org.