import struct import pytest import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent.parent)) from protocol_parser import ProtocolParser def build_packet(timestamp_ms: int, rms_db_x10: int, freq_hz: int) -> bytes: sof = bytes([ProtocolParser.SOF]) header = bytes([ProtocolParser.TYPE_AUDIO_V1, ProtocolParser.PAYLOAD_LEN]) payload = struct.pack("= 1 # парсер должен "проглотить" мусор def test_two_packets_in_one_chunk(): p = ProtocolParser() raw = build_packet(timestamp_ms=10, rms_db_x10=-100, freq_hz=500) + build_packet( timestamp_ms=20, rms_db_x10=-200, freq_hz=600 ) packets = p.feed(raw) assert len(packets) == 2 assert packets[0].timestamp_ms == 10 assert packets[1].timestamp_ms == 20