18 lines
755 B
Python
18 lines
755 B
Python
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
|