20 lines
828 B
Python
20 lines
828 B
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
from galileo_rx.navigation.decoder_diagnostics import load_prompt_epochs
|
|
from galileo_rx.navigation.inav_pipeline import InavNavigationPipeline
|
|
|
|
|
|
@pytest.mark.signalsim
|
|
def test_signalsim_prompts_produce_crc_valid_inav_pages() -> None:
|
|
path = Path("verification/navigation/signalsim_navigation_multisat/prn_01/prompt_epochs.npz")
|
|
if not path.is_file():
|
|
pytest.skip("SignalSim navigation prompt artifact is unavailable; run collect-navigation first")
|
|
decoded = InavNavigationPipeline(1).process(load_prompt_epochs(path, 1))
|
|
assert len(decoded.pages) == 15
|
|
assert all(page.sync_valid and page.fec_valid and page.crc_valid for page in decoded.pages)
|
|
assert {word.word_type for word in decoded.words} == {1, 2, 3, 4, 5, 6}
|