1
0

testing around OK state

This commit is contained in:
Aiden
2026-05-26 14:01:10 +10:00
parent 4e0ef92e25
commit 74a2e2fd2c
5 changed files with 1049 additions and 0 deletions

View 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()