From fed07711c1a1870501fde6043adaef1350fb3c49 Mon Sep 17 00:00:00 2001 From: Auke Willem Oosterhoff Date: Wed, 27 Jan 2016 21:58:04 +0100 Subject: [PATCH] #24 Test redundancy_check module. --- tests/unit/client/serial/__init__.py | 0 .../client/serial/test_redundancy_check.py | 23 +++++++++++++++++++ umodbus/client/serial/redundancy_check.py | 6 ++--- 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 tests/unit/client/serial/__init__.py create mode 100644 tests/unit/client/serial/test_redundancy_check.py diff --git a/tests/unit/client/serial/__init__.py b/tests/unit/client/serial/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/unit/client/serial/test_redundancy_check.py b/tests/unit/client/serial/test_redundancy_check.py new file mode 100644 index 0000000..b22d632 --- /dev/null +++ b/tests/unit/client/serial/test_redundancy_check.py @@ -0,0 +1,23 @@ +import struct +import pytest + +from umodbus.client.serial.redundancy_check import get_crc, validate_crc + + +def test_get_crc(): + """ Test if correct CRC is calculated. """ + # Values are equal to those used in example in MODBUS over serial line + # specification and implementation guide V1.02, chapter 6.2.2. + assert struct.unpack('>> assert get_crc('>> assert get_crc(b'\x02\x07') == struct.unpack('> 8) ^ look_up_table[(register ^ byte_) & 0xFF] + (register >> 8) ^ look_up_table[(register ^ val) & 0xFF] # CRC is little-endian! return struct.pack('