23 lines
801 B
Python
23 lines
801 B
Python
from __future__ import annotations
|
|
|
|
import json
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.mark.signalsim
|
|
def test_four_satellites_are_navigation_ready_without_truth_inputs() -> None:
|
|
path = Path("reports/navigation_run/inav_collection_report.json")
|
|
if not path.is_file():
|
|
pytest.skip("SignalSim multi-satellite navigation collection report is unavailable")
|
|
report = json.loads(path.read_text(encoding="utf-8"))
|
|
assert report["decoder_truth_inputs"] == []
|
|
ready = [
|
|
item for item in report["satellites"].values()
|
|
if item["complete_ephemeris"] and item["clock_parameters"] and item["health_valid"] and item["data_valid"]
|
|
]
|
|
assert len(ready) >= 4
|
|
assert report["galileo_time"]["valid"] is True
|
|
assert report["navigation_ready"] is True
|