#[test]
fn lat_lon_alt_to_cartesian() {
    let coord = deimoss::geodata::coordinates::LatLonAlt::new(0.0, 0.0, 0.0);
    let xyz = coord.to_cartesian();
    assert!((xyz[0] - deimoss::DEIMOS_RADIUS_M).abs() < 1.0);
}

#[test]
fn elevation_sample_voltaire() {
    let s = deimoss::geodata::elevation::sample_dem(25.0, 160.0);
    assert!(s.elevation_m < 0.0);
}

#[test]
fn voltaire_crater_landing_site() {
    let site = deimoss::geodata::landing_sites::voltaire_crater();
    assert_eq!(site.name, "Voltaire Crater");
    assert!(site.mission_year >= 2040);
}

#[test]
fn swift_crater_landing_site() {
    let site = deimoss::geodata::landing_sites::swift_crater();
    assert_eq!(site.name, "Swift Crater");
}

#[test]
fn region_leading_hemisphere() {
    let r = deimoss::geodata::regions::named_region(0.0, 90.0);
    assert_eq!(
        r,
        deimoss::geodata::regions::DeimosRegion::LeadingHemisphere
    );
}

#[test]
fn region_north_polar() {
    let r = deimoss::geodata::regions::named_region(70.0, 0.0);
    assert_eq!(r, deimoss::geodata::regions::DeimosRegion::NorthPolar);
}
