from galileo_rx.rtl_model.cycle_model import AcquisitionArchitectureEstimate, TrackingScheduler def test_acquisition_sizing_formulas() -> None: estimate = AcquisitionArchitectureEstimate(16.368e6, 0.004, 5, 36, 81, 65536, 200e6, 4) assert estimate.samples_per_coherent_interval == 65472 assert estimate.fft_operations_per_prn == 810 assert estimate.sample_buffer_complex_words == 327360 assert estimate.acquisition_time_s > 0 def test_tracking_scheduler_condition() -> None: good = TrackingScheduler(16.368e6, 200e6, 8, 2, 2) bad = TrackingScheduler(16.368e6, 50e6, 16, 1, 2) assert good.schedulable_without_loss assert not bad.schedulable_without_loss