File: test_redundancy_check.py

package info (click to toggle)
python-umodbus 1.0.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 456 kB
  • sloc: python: 1,944; makefile: 166; sh: 5
file content (24 lines) | stat: -rw-r--r-- 761 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import struct
import pytest

from umodbus.client.serial.redundancy_check import (get_crc, validate_crc,
                                                    CRCError)


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('<H', get_crc(b'\x02\x07')) ==\
        struct.unpack('<H', b'\x41\x12')


def test_validate_valid_crc():
    """" Method should not raise assertion error. """
    validate_crc(b'\x00\x01\x02\xf1\x91')


def test_validate_invalid_crc():
    """" Method should raise assertion error. """
    with pytest.raises(CRCError):
        validate_crc(b'\x01\x02\x07')