Emualtor RX side
This commit is contained in:
27
tests/test_emulator_rx_probe.py
Normal file
27
tests/test_emulator_rx_probe.py
Normal file
@@ -0,0 +1,27 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user