from __future__ import annotations from galileo_rx.navigation.navigation_store import NavigationStore from tests.navigation.test_ephemeris_assembler import _health, _word def test_navigation_readiness_requires_four_complete_healthy_satellites() -> None: store = NavigationStore() for prn in range(1, 5): store.update_word(_health(prn)) for kind in (1, 2, 3, 4): store.update_word(_word(prn, kind, prn, prn * 10 + kind)) assert store.navigation_ready(minimum_satellites=4, require_time=True) assert store.navigation_ready(minimum_satellites=4, require_time=False) assert store.get_time_solution() is not None assert store.has_complete_ephemeris(4) assert store.get_clock_parameters(2) is not None