sp3 1.4.1

IGS SP3 file parser
Documentation
use crate::prelude::{Epoch, SP3, SV};
use std::path::PathBuf;
use std::str::FromStr;

#[test]
fn satellite_maneuver_flag() {
    let path = PathBuf::new()
        .join(env!("CARGO_MANIFEST_DIR"))
        .join("data/SP3")
        .join("D")
        .join("example.txt");

    let sp3 = SP3::from_file(&path).unwrap();

    let g01 = SV::from_str("G01").unwrap();
    let t0 = Epoch::from_str("2019-10-27T00:00:00 GPST").unwrap();

    assert!(sp3.has_satellite_maneuver());

    for (_, sv, _, _) in sp3.satellites_stable_position_km_iter() {
        assert!(sv != g01, "vehicles being maneuvered should be excluded");
    }

    for (t, sv) in sp3.satellites_epoch_maneuver_iter() {
        assert_eq!(t, t0);
        assert_eq!(sv, g01);
    }

    for (t, sv) in sp3.satellites_epoch_clock_event_iter() {
        assert_eq!(t, t0);
        assert_eq!(sv, g01);
    }
}