import pytest @pytest.mark.signalsim def test_signalsim_e1b_and_e1c_tracking_lock(signalsim_validation_result) -> None: report, _, output = signalsim_validation_result for component in ("E1B", "E1C"): result = report["tracking"][component] assert result["final_state"] == "PLL_TRACK" assert result["reacquisition_epoch_count"] == 0 assert abs(result["doppler_error_hz"]) < 10.0 assert result["doppler_jitter_hz_rms"] < 5.0 assert result["dll_error_chips_rms"] < 0.15 assert result["mean_code_lock_metric"] > 1.0 assert (output / f"tracking_{component.lower()}.csv").is_file()