fix update
This commit is contained in:
@ -3,8 +3,11 @@ from __future__ import annotations
|
||||
import math
|
||||
import unittest
|
||||
|
||||
import numpy as np
|
||||
|
||||
from rfg_adc_plotter.io.sweep_parser_core import (
|
||||
AsciiSweepParser,
|
||||
BatchPointEvent,
|
||||
ComplexAsciiSweepParser,
|
||||
LegacyBinaryParser,
|
||||
LogScale16BitX2BinaryParser,
|
||||
@ -185,6 +188,54 @@ class SweepParserCoreTests(unittest.TestCase):
|
||||
self.assertEqual(events[2].aux, (120.0, 95.0))
|
||||
self.assertEqual(events[2].signal_kind, "bin_iq")
|
||||
|
||||
def test_legacy_binary_parser_batch_mode_emits_tty_batch_event(self):
|
||||
parser = LegacyBinaryParser(batch_events=True)
|
||||
stream = b"".join(
|
||||
[
|
||||
_pack_tty_start(),
|
||||
_pack_tty_point(1, 100, 90),
|
||||
_pack_tty_point(2, 120, 95),
|
||||
]
|
||||
)
|
||||
|
||||
events = parser.feed(stream)
|
||||
|
||||
self.assertEqual(len(events), 2)
|
||||
self.assertIsInstance(events[0], StartEvent)
|
||||
self.assertIsInstance(events[1], BatchPointEvent)
|
||||
self.assertTrue(np.array_equal(events[1].xs, np.asarray([1, 2], dtype=np.int64)))
|
||||
self.assertTrue(np.allclose(events[1].ys, np.asarray([18100.0, 23425.0], dtype=np.float32)))
|
||||
self.assertIsNotNone(events[1].aux)
|
||||
self.assertTrue(np.allclose(events[1].aux[0], np.asarray([100.0, 120.0], dtype=np.float32)))
|
||||
self.assertTrue(np.allclose(events[1].aux[1], np.asarray([90.0, 95.0], dtype=np.float32)))
|
||||
self.assertEqual(events[1].signal_kind, "bin_iq")
|
||||
|
||||
def test_sweep_assembler_consumes_tty_batch_event(self):
|
||||
assembler = SweepAssembler(fancy=False, apply_inversion=False)
|
||||
packet = assembler.consume(
|
||||
BatchPointEvent(
|
||||
ch=0,
|
||||
xs=np.asarray([1, 2], dtype=np.int64),
|
||||
ys=np.asarray([18100.0, 23425.0], dtype=np.float32),
|
||||
aux=(
|
||||
np.asarray([100.0, 120.0], dtype=np.float32),
|
||||
np.asarray([90.0, 95.0], dtype=np.float32),
|
||||
),
|
||||
signal_kind="bin_iq",
|
||||
)
|
||||
)
|
||||
self.assertIsNone(packet)
|
||||
|
||||
sweep, info, aux = assembler.finalize_current()
|
||||
|
||||
self.assertEqual(info["signal_kind"], "bin_iq")
|
||||
self.assertEqual(sweep.shape[0], 3)
|
||||
self.assertAlmostEqual(float(sweep[1]), 18100.0, places=6)
|
||||
self.assertAlmostEqual(float(sweep[2]), 23425.0, places=6)
|
||||
self.assertIsNotNone(aux)
|
||||
self.assertAlmostEqual(float(aux[0][1]), 100.0, places=6)
|
||||
self.assertAlmostEqual(float(aux[1][2]), 95.0, places=6)
|
||||
|
||||
def test_legacy_binary_parser_detects_new_tty_sweep_on_step_reset(self):
|
||||
parser = LegacyBinaryParser()
|
||||
stream = b"".join(
|
||||
|
||||
Reference in New Issue
Block a user