1
0
Files
h8-536-decoder/tests/test_emulator_rx_probe.py
2026-05-25 21:25:10 +10:00

28 lines
873 B
Python

import argparse
import unittest
from h8536.emulator.rx_probe import frame_checksum, frame_checksum_ok, parse_frame
class EmulatorRxProbeTest(unittest.TestCase):
def test_parse_frame_accepts_five_bytes_and_appends_checksum(self):
frame = parse_frame("04 00 00 40 00")
self.assertEqual(frame, bytes.fromhex("04000040001E"))
self.assertTrue(frame_checksum_ok(frame))
def test_parse_frame_accepts_compact_checked_frame(self):
frame = parse_frame("0780684030C5")
self.assertEqual(frame, bytes.fromhex("0780684030C5"))
self.assertEqual(frame_checksum(frame), 0xC5)
self.assertTrue(frame_checksum_ok(frame))
def test_parse_frame_rejects_wrong_length(self):
with self.assertRaises(argparse.ArgumentTypeError):
parse_frame("04 00 00 40")
if __name__ == "__main__":
unittest.main()