Fix bidirectional RF-001A coordination
This commit is contained in:
49
tests/test_rf001a_truth_metadata.py
Normal file
49
tests/test_rf001a_truth_metadata.py
Normal file
@@ -0,0 +1,49 @@
|
||||
"""Checks for the tracked RF-001A decoder truth artifact."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
SPEC_PATH = ROOT / "configs" / "rf" / "rf001a_common_clock.json"
|
||||
TRUTH_PATH = ROOT / "configs" / "rf" / "rf001a_truth_metadata.json"
|
||||
|
||||
|
||||
def test_truth_metadata_is_small_complete_and_spec_aligned() -> None:
|
||||
spec = json.loads(SPEC_PATH.read_text(encoding="utf-8"))
|
||||
truth = json.loads(TRUTH_PATH.read_text(encoding="utf-8"))
|
||||
|
||||
assert TRUTH_PATH.stat().st_size < 64 * 1024
|
||||
assert truth["shared_spec_test_id"] == spec["test_id"]
|
||||
assert truth["test_id"] == spec["legacy_waveform_test_id"]
|
||||
assert truth["seed"] == spec["seed"]
|
||||
assert truth["packet_count"] == spec["packet_count"] == 100
|
||||
assert truth["payload_size"] == spec["application_payload_bytes"] == 256
|
||||
assert truth["application_payload_bytes"] == truth["payload_size"]
|
||||
assert truth["expected_sequence_numbers"] == list(range(100))
|
||||
assert len(truth["expected_packet_hashes"]) == 100
|
||||
assert [
|
||||
row["sequence_number"] for row in truth["expected_packet_hashes"]
|
||||
] == list(range(100))
|
||||
assert all(
|
||||
len(row["payload_sha256"]) == 64 and len(row["packet_sha256"]) == 64
|
||||
for row in truth["expected_packet_hashes"]
|
||||
)
|
||||
assert truth["tx_waveform_sha256"] == spec["expected_hardware_sha256"]
|
||||
assert truth["iq_sha256"] == spec["expected_canonical_sha256"]
|
||||
assert truth["modulation"] == spec["modulation"]
|
||||
assert truth["symbol_rate"] == spec["symbol_rate_sps"]
|
||||
assert truth["sample_rate"] == spec["sample_rate_hz"]
|
||||
assert truth["fec"] == spec["inner_fec"]
|
||||
assert truth["fec_rate"] == truth["fec"]
|
||||
assert truth["gap_ms"] == spec["inter_packet_gap_ms"]
|
||||
assert truth["inter_packet_gap_ms"] == truth["gap_ms"]
|
||||
assert (
|
||||
truth["digital_carrier_offset_hz"]
|
||||
== spec["digital_carrier_offset_hz"]
|
||||
)
|
||||
assert truth["tx_waveform_format"] == spec["hardware_format"]
|
||||
assert "waveform" not in truth
|
||||
assert "raw_iq" not in truth
|
||||
Reference in New Issue
Block a user