27 lines
1.0 KiB
Python
27 lines
1.0 KiB
Python
import unittest
|
|
|
|
from h8536.emulator.report_queue_probe import (
|
|
build_expected_report_frame,
|
|
encode_report_header,
|
|
report_payload_selector,
|
|
)
|
|
|
|
|
|
class EmulatorReportQueueProbeTest(unittest.TestCase):
|
|
def test_report_word_0204_builds_observed_gated_active_frame(self):
|
|
self.assertEqual(encode_report_header(0x0204), (0x01, 0x00, 0x04))
|
|
self.assertEqual(report_payload_selector(0x0204), 0x0004)
|
|
self.assertEqual(build_expected_report_frame(0x0204, 0x0000), bytes.fromhex("01 00 04 00 00 5F"))
|
|
|
|
def test_report_word_0404_builds_observed_transition_frame(self):
|
|
self.assertEqual(encode_report_header(0x0404), (0x02, 0x00, 0x04))
|
|
self.assertEqual(report_payload_selector(0x0404), 0x0004)
|
|
self.assertEqual(build_expected_report_frame(0x0404, 0x0000), bytes.fromhex("02 00 04 00 00 5C"))
|
|
|
|
def test_payload_bytes_feed_frame_value_and_checksum(self):
|
|
self.assertEqual(build_expected_report_frame(0x0204, 0x1234), bytes.fromhex("01 00 04 12 34 79"))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|