fix parser
This commit is contained in:
@ -175,6 +175,34 @@ class SweepParserCoreTests(unittest.TestCase):
|
||||
self.assertEqual(events[4].x, 1)
|
||||
self.assertEqual(events[4].aux, (120.0, 80.0))
|
||||
|
||||
def test_legacy_binary_parser_tty_mode_does_not_flip_to_legacy_on_ch2_low_byte_0x0a(self):
|
||||
parser = LegacyBinaryParser()
|
||||
stream = b"".join(
|
||||
[
|
||||
_pack_tty_start(),
|
||||
_pack_tty_point(1, 100, 0x040A), # low byte is 0x0A: used to be misparsed as legacy
|
||||
_pack_tty_point(2, 120, 0x0410),
|
||||
]
|
||||
)
|
||||
|
||||
events = parser.feed(stream)
|
||||
|
||||
self.assertEqual(len(events), 3)
|
||||
self.assertIsInstance(events[0], StartEvent)
|
||||
self.assertEqual(events[0].ch, 0)
|
||||
|
||||
self.assertIsInstance(events[1], PointEvent)
|
||||
self.assertEqual(events[1].ch, 0)
|
||||
self.assertEqual(events[1].x, 1)
|
||||
self.assertEqual(events[1].aux, (100.0, 1034.0))
|
||||
self.assertEqual(events[1].y, 934.0)
|
||||
|
||||
self.assertIsInstance(events[2], PointEvent)
|
||||
self.assertEqual(events[2].ch, 0)
|
||||
self.assertEqual(events[2].x, 2)
|
||||
self.assertEqual(events[2].aux, (120.0, 1040.0))
|
||||
self.assertEqual(events[2].y, 920.0)
|
||||
|
||||
def test_complex_ascii_parser_detects_new_sweep_on_step_reset(self):
|
||||
parser = ComplexAsciiSweepParser()
|
||||
events = parser.feed(b"0 3 4\n1 5 12\n0 8 15\n")
|
||||
|
||||
Reference in New Issue
Block a user