#[test]
fn dust_sputtered_ice() {
    let d = europas::environment::dust::DustEnvironment::sputtered_ice();
    assert!(d.adhesion_risk(100.0) > 0.0);
}

#[test]
fn radiation_nominal_dose() {
    let r = europas::environment::radiation::RadiationEnvironment::nominal_surface();
    assert!(r.effective_daily_dose_msv() > 0.0);
}

#[test]
fn radiation_sheltered_less() {
    let n = europas::environment::radiation::RadiationEnvironment::nominal_surface();
    let s = europas::environment::radiation::RadiationEnvironment::sheltered(2.0);
    assert!(s.effective_daily_dose_msv() < n.effective_daily_dose_msv());
}

#[test]
fn thermal_in_range() {
    let t = europas::environment::thermal::ThermalEnvironment {
        local_time_hours: 42.0,
        latitude_deg: 0.0,
        shadowed: false,
    };
    let temp = t.surface_temperature_k();
    assert!((50.0..=125.0).contains(&temp));
}

#[test]
fn thermal_cycle_span() {
    assert!(europas::environment::thermal::thermal_cycle_span_k(0.0) > 0.0);
}
