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 2019/06/27 20:15:20 UTC
[plc4x] 04/04: - Added a test to test the generated code for
serializing and parsing - Added tests for serializing and parsing parsed
instances of the generated model to JSON and XML with Jackson
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit a81e1f7c65074f8ace8866c4877cce9298354b02
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Thu Jun 27 22:15:09 2019 +0200
- Added a test to test the generated code for serializing and parsing
- Added tests for serializing and parsing parsed instances of the generated model to JSON and XML with Jackson
---
sandbox/test-java-knxnetip-driver/pom.xml | 14 +++++++
.../org/apache/plc4x/java/knxnetip/IOTest.java} | 46 +++++++++++++++++-----
.../src/test/java/BenchmarkGeneratedS7.java | 1 -
3 files changed, 51 insertions(+), 10 deletions(-)
diff --git a/sandbox/test-java-knxnetip-driver/pom.xml b/sandbox/test-java-knxnetip-driver/pom.xml
index 8d9e15e..bc23e19 100644
--- a/sandbox/test-java-knxnetip-driver/pom.xml
+++ b/sandbox/test-java-knxnetip-driver/pom.xml
@@ -60,12 +60,26 @@
<artifactId>plc4j-utils-driver-base-java</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.dataformat</groupId>
+ <artifactId>jackson-dataformat-xml</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.plc4x</groupId>
diff --git a/sandbox/test-java-s7-driver/src/test/java/BenchmarkGeneratedS7.java b/sandbox/test-java-knxnetip-driver/src/test/java/org/apache/plc4x/java/knxnetip/IOTest.java
similarity index 58%
copy from sandbox/test-java-s7-driver/src/test/java/BenchmarkGeneratedS7.java
copy to sandbox/test-java-knxnetip-driver/src/test/java/org/apache/plc4x/java/knxnetip/IOTest.java
index f1d95ff..5653814 100644
--- a/sandbox/test-java-s7-driver/src/test/java/BenchmarkGeneratedS7.java
+++ b/sandbox/test-java-knxnetip-driver/src/test/java/org/apache/plc4x/java/knxnetip/IOTest.java
@@ -17,27 +17,55 @@
under the License.
*/
+package org.apache.plc4x.java.knxnetip;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import org.apache.commons.codec.binary.Hex;
-import org.apache.plc4x.java.s7.TPKTPacket;
-import org.apache.plc4x.java.s7.io.TPKTPacketIO;
+import org.apache.plc4x.java.knxnetip.io.KNXNetIPMessageIO;
import org.apache.plc4x.java.utils.ReadBuffer;
import org.apache.plc4x.java.utils.WriteBuffer;
+import org.junit.jupiter.api.Test;
import java.util.Arrays;
-public class BenchmarkGeneratedS7 {
+public class IOTest {
+
+ @Test
+ public void testXml() throws Exception {
+ byte[] rData = Hex.decodeHex("0610020500180801c0a82a46c4090801c0a82a46c40a0203");
+ ObjectMapper mapper = new XmlMapper().enableDefaultTyping();
+ ReadBuffer rBuf = new ReadBuffer(rData);
+ KNXNetIPMessage packet = KNXNetIPMessageIO.parse(rBuf);
+ String xml = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(packet);
+ System.out.println(xml);
+ KNXNetIPMessage pack2 = mapper.readValue(xml, KNXNetIPMessage.class);
+ System.out.println(pack2);
+ }
+
+ @Test
+ public void testJson() throws Exception {
+ byte[] rData = Hex.decodeHex("0610020500180801c0a82a46c4090801c0a82a46c40a0203");
+ ObjectMapper mapper = new ObjectMapper().enableDefaultTyping();
+ ReadBuffer rBuf = new ReadBuffer(rData);
+ KNXNetIPMessage packet = KNXNetIPMessageIO.parse(rBuf);
+ String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(packet);
+ System.out.println(json);
+ KNXNetIPMessage pack2 = mapper.readValue(json, KNXNetIPMessage.class);
+ System.out.println(pack2);
+ }
- public static void main(String[] args) throws Exception {
- // 00
- byte[] rData = Hex.decodeHex("0300006702f080320100000001005600000407120a10060001032b84000160120a10020001032b840001a0120a10010001032b840001a9120a10050001032b84000150120a10020001032b84000198120a10040001032b84000140120a10020001032b84000190");
+ @Test
+ public void testParser() throws Exception {
+ byte[] rData = Hex.decodeHex("0610020500180801c0a82a46c4090801c0a82a46c40a0203");
long start = System.currentTimeMillis();
int numRunsParse = 2000000;
// Benchmark the parsing code
- TPKTPacket packet = null;
+ KNXNetIPMessage packet = null;
for(int i = 0; i < numRunsParse; i++) {
ReadBuffer rBuf = new ReadBuffer(rData);
- packet = TPKTPacketIO.parse(rBuf);
+ packet = KNXNetIPMessageIO.parse(rBuf);
}
long endParsing = System.currentTimeMillis();
@@ -49,7 +77,7 @@ public class BenchmarkGeneratedS7 {
byte[] oData = null;
for(int i = 0; i < numRunsSerialize; i++) {
WriteBuffer wBuf = new WriteBuffer(packet.getLengthInBytes());
- TPKTPacketIO.serialize(wBuf, packet);
+ KNXNetIPMessageIO.serialize(wBuf, packet);
oData = wBuf.getData();
}
long endSerializing = System.currentTimeMillis();
diff --git a/sandbox/test-java-s7-driver/src/test/java/BenchmarkGeneratedS7.java b/sandbox/test-java-s7-driver/src/test/java/BenchmarkGeneratedS7.java
index f1d95ff..24fd194 100644
--- a/sandbox/test-java-s7-driver/src/test/java/BenchmarkGeneratedS7.java
+++ b/sandbox/test-java-s7-driver/src/test/java/BenchmarkGeneratedS7.java
@@ -28,7 +28,6 @@ import java.util.Arrays;
public class BenchmarkGeneratedS7 {
public static void main(String[] args) throws Exception {
- // 00
byte[] rData = Hex.decodeHex("0300006702f080320100000001005600000407120a10060001032b84000160120a10020001032b840001a0120a10010001032b840001a9120a10050001032b84000150120a10020001032b84000198120a10040001032b84000140120a10020001032b84000190");
long start = System.currentTimeMillis();
int numRunsParse = 2000000;