From f8664b08d1ead2572c64e2e0020e6dbc9a30f5a6 Mon Sep 17 00:00:00 2001 From: Christofer Dutz Date: Fri, 14 Jun 2024 19:01:50 +0200 Subject: [PATCH] fix: Worked on adding unit tests for my hardware in order to be able to debug issues with the logix driver. #1646 --- .../eip/logix/ManualEipLogixDriverTest.java | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/logix/ManualEipLogixDriverTest.java diff --git a/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/logix/ManualEipLogixDriverTest.java b/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/logix/ManualEipLogixDriverTest.java new file mode 100644 index 0000000000..1255299824 --- /dev/null +++ b/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/logix/ManualEipLogixDriverTest.java @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.eip.logix; + +import org.apache.plc4x.java.spi.values.*; +import org.apache.plc4x.test.manual.ManualTest; + +import java.time.Duration; +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.Arrays; + +public class ManualEipLogixDriverTest extends ManualTest { + + /* + * Test program code on the PLC with the test-data. + * + * Located in "main" + * + + hurz_BOOL := TRUE; + hurz_BYTE := 42; + hurz_WORD := 42424; + hurz_DWORD := 4242442424; + hurz_LWORD := 4242442424242424242; + hurz_SINT := -42; + hurz_USINT := 42; + hurz_INT := -2424; + hurz_UINT := 42424; + hurz_DINT := -242442424; + hurz_UDINT := 4242442424; + hurz_LINT := -4242442424242424242; + hurz_ULINT := 4242442424242424242; + hurz_REAL := 3.14159265359; + hurz_LREAL := 2.71828182846; + hurz_TIME := T#1S234MS; + hurz_LTIME := LTIME#1000D15H23M12S34MS2US44NS; + hurz_DATE := D#1998-03-28; + //hurz_LDATE:LDATE; + hurz_TIME_OF_DAY := TIME_OF_DAY#15:36:30.123; + hurz_TOD := TOD#16:17:18.123; + //hurz_LTIME_OF_DAY:LTIME_OF_DAY; + //hurz_LTOD:LTOD; + hurz_DATE_AND_TIME := DATE_AND_TIME#1996-05-06-15:36:30; + hurz_DT := DT#1972-03-29-00:00:00; + //hurz_LDATE_AND_TIME:LDATE_AND_TIME; + //hurz_LDT:LDT; + hurz_STRING := 'hurz'; + hurz_WSTRING := "wolf"; + + * + */ + + public ManualEipLogixDriverTest(String connectionString) { + super(connectionString, true, false, true, 10); + } + + public static void main(String[] args) throws Exception { + ManualEipLogixDriverTest test = new ManualEipLogixDriverTest("logix://192.168.23.40"); + // This is the very limited number of types my controller supports. + test.addTestCase("hurz_BOOL", new PlcBOOL(true)); + test.addTestCase("hurz_SINT", new PlcSINT(-42)); + test.addTestCase("hurz_INT", new PlcINT(-2424)); + test.addTestCase("hurz_DINT", new PlcDINT(-242442424)); + test.addTestCase("hurz_REAL", new PlcREAL(3.141593F)); + //test.addTestCase("hurz_UDT", new PlcStruct()); + + long start = System.currentTimeMillis(); + test.run(); + long end = System.currentTimeMillis(); + System.out.printf("Finished in %d ms", end - start); + } + +}