testing around OK state
This commit is contained in:
45
tests/test_connect_ok_matrix.py
Normal file
45
tests/test_connect_ok_matrix.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import io
|
||||
import unittest
|
||||
|
||||
from h8536.connect_ok_matrix import build_cases, main
|
||||
|
||||
|
||||
class ConnectOkMatrixTest(unittest.TestCase):
|
||||
def test_minimal_suite_starts_with_known_sequence_and_single_ok(self):
|
||||
cases = build_cases("minimal")
|
||||
|
||||
self.assertEqual(cases[0].name, "baseline-40-80-c0")
|
||||
self.assertEqual(cases[1].name, "single-80")
|
||||
self.assertIn("pair-40-80", [case.name for case in cases])
|
||||
|
||||
def test_gap_suite_uses_requested_inter_frame_gaps(self):
|
||||
cases = build_cases("gap", gaps=[0.01, 0.7])
|
||||
|
||||
self.assertEqual([case.name for case in cases], ["gap-10ms-40-80-c0", "gap-700ms-40-80-c0"])
|
||||
self.assertEqual([case.gap for case in cases], [0.01, 0.7])
|
||||
|
||||
def test_dry_run_defaults_to_even_parity_and_lists_frames(self):
|
||||
stdout = io.StringIO()
|
||||
|
||||
exit_code = main(["--dry-run", "--suite", "minimal", "--limit", "2"], stdout=stdout)
|
||||
|
||||
self.assertEqual(exit_code, 0)
|
||||
output = stdout.getvalue()
|
||||
self.assertIn("device=COM5 38400 8E1", output)
|
||||
self.assertIn("case[1]=baseline-40-80-c0", output)
|
||||
self.assertIn("case[2]=single-80", output)
|
||||
self.assertIn("frame=04 00 00 80 00 DE checksum_ok=1", output)
|
||||
|
||||
def test_case_filter_selects_named_subset(self):
|
||||
stdout = io.StringIO()
|
||||
|
||||
exit_code = main(["--dry-run", "--suite", "all", "--case", "pair-c0-80"], stdout=stdout)
|
||||
|
||||
self.assertEqual(exit_code, 0)
|
||||
output = stdout.getvalue()
|
||||
self.assertIn("cases=1", output)
|
||||
self.assertIn("case[1]=pair-c0-80", output)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user