You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2022/07/05 14:59:27 UTC
[plc4x] branch develop updated: test(c-bus): add more test cases
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new 13a18608c test(c-bus): add more test cases
13a18608c is described below
commit 13a18608c7efd27af94d54e07cac7b62c88c79d5
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Tue Jul 5 16:59:18 2022 +0200
test(c-bus): add more test cases
---
.../apache/plc4x/java/cbus/RandomPackagesTest.java | 94 ++++++++++++++++++++++
1 file changed, 94 insertions(+)
diff --git a/plc4j/drivers/c-bus/src/test/java/org/apache/plc4x/java/cbus/RandomPackagesTest.java b/plc4j/drivers/c-bus/src/test/java/org/apache/plc4x/java/cbus/RandomPackagesTest.java
index 66d184faf..b2a12d369 100644
--- a/plc4j/drivers/c-bus/src/test/java/org/apache/plc4x/java/cbus/RandomPackagesTest.java
+++ b/plc4j/drivers/c-bus/src/test/java/org/apache/plc4x/java/cbus/RandomPackagesTest.java
@@ -70,6 +70,87 @@ public class RandomPackagesTest {
}
+ // 4
+ @Nested
+ class SerialInterface {
+
+ // 4.2.3
+ @Test
+ void reset() throws Exception {
+ byte[] bytes = "~\r".getBytes(StandardCharsets.UTF_8);
+ ReadBufferByteBased readBufferByteBased = new ReadBufferByteBased(bytes);
+ CBusMessage msg = CBusMessage.staticParse(readBufferByteBased, false, true, bytes.length);
+ assertThat(msg)
+ .isNotNull();
+ System.out.println(msg);
+ }
+
+ @Disabled("not implemented yet")
+ // 4.2.4
+ @Test
+ void cancel() throws Exception {
+ byte[] bytes = "AB0123?9876\r".getBytes(StandardCharsets.UTF_8);
+ ReadBufferByteBased readBufferByteBased = new ReadBufferByteBased(bytes);
+ CBusMessage msg = CBusMessage.staticParse(readBufferByteBased, false, true, bytes.length);
+ assertThat(msg)
+ .isNotNull();
+ System.out.println(msg);
+ }
+
+ // 4.2.5
+ @Test
+ void smartConnectShortcut() throws Exception {
+ byte[] bytes = "\r|\r".getBytes(StandardCharsets.UTF_8);
+ ReadBufferByteBased readBufferByteBased = new ReadBufferByteBased(bytes);
+ CBusMessage msg = CBusMessage.staticParse(readBufferByteBased, false, true, bytes.length);
+ assertThat(msg)
+ .isNotNull();
+ System.out.println(msg);
+ }
+
+ @Disabled("not implemented yet")
+ // 4.2.4
+ @Test
+ void confirmation() throws Exception {
+ // If you follow the spec a confirmation can occur at any place... seems strange
+ byte[] bytes = "AB0123n9876\r".getBytes(StandardCharsets.UTF_8);
+ ReadBufferByteBased readBufferByteBased = new ReadBufferByteBased(bytes);
+ CBusMessage msg = CBusMessage.staticParse(readBufferByteBased, false, true, bytes.length);
+ assertThat(msg)
+ .isNotNull();
+ System.out.println(msg);
+ }
+
+ // 4.2.7
+ @Test
+ void directCommandAccess1() throws Exception {
+ byte[] bytes = "@2102\r".getBytes(StandardCharsets.UTF_8);
+ ReadBufferByteBased readBufferByteBased = new ReadBufferByteBased(bytes);
+ CBusMessage msg = CBusMessage.staticParse(readBufferByteBased, false, true, bytes.length);
+ assertThat(msg)
+ .isNotNull();
+ System.out.println(msg);
+ CALData calData = ((RequestDirectCommandAccess) ((CBusMessageToServer) msg).getRequest()).getCalData();
+ System.out.println(calData);
+ }
+
+ @Disabled("not implemented yet")
+ // 4.2.7
+ @Test
+ void directCommandAccess2() throws Exception {
+ // TODO: this should be the same as the @above but that is not yet implemented
+ byte[] bytes = "~2102\r".getBytes(StandardCharsets.UTF_8);
+ ReadBufferByteBased readBufferByteBased = new ReadBufferByteBased(bytes);
+ CBusMessage msg = CBusMessage.staticParse(readBufferByteBased, false, true, bytes.length);
+ assertThat(msg)
+ .isNotNull();
+ System.out.println(msg);
+ CALData calData = ((RequestDirectCommandAccess) ((CBusMessageToServer) msg).getRequest()).getCalData();
+ System.out.println(calData);
+ }
+
+ }
+
// 4.2.9.1
@Nested
@@ -567,5 +648,18 @@ public class RandomPackagesTest {
CALReplyReply calReplyReply = (CALReplyReply) normalReply.getReply();
System.out.println(calReplyReply.getCalReply());
}
+
+ @Test
+ void someOtherResponse() throws Exception {
+ byte[] bytes = "\\0538000100g\r".getBytes(StandardCharsets.UTF_8);
+ ReadBufferByteBased readBufferByteBased = new ReadBufferByteBased(bytes);
+ CBusMessage msg = CBusMessage.staticParse(readBufferByteBased, false, true, bytes.length);
+ assertThat(msg)
+ .isNotNull();
+ System.out.println(msg);
+ CBusMessageToServer messageToServer = (CBusMessageToServer) msg;
+ RequestCommand requestCommand = (RequestCommand) messageToServer.getRequest();
+ System.out.println(requestCommand.getCbusCommand());
+ }
}
}