#[test]
fn marsshine_irradiance_positive() {
    let lux = deimoss::lighting::marsshine::marsshine_irradiance_lux(0.5);
    assert!(lux > 0.0);
}

#[test]
fn dark_side_visibility_bounded() {
    let idx = deimoss::lighting::marsshine::dark_side_visibility_index(0.8, 0.068);
    assert!(idx > 0.0 && idx < 1.0);
}

#[test]
fn eclipse_totality_positive() {
    let e = deimoss::lighting::eclipses::typical_deimos_eclipse();
    assert!(e.totality_duration_minutes() > 0.0);
}

#[test]
fn solar_elevation_clipped() {
    let el = deimoss::lighting::solar_position::solar_elevation_deg(0.0, 15.15);
    assert!((-90.0..=90.0).contains(&el));
}

#[test]
fn illumination_incidence_bounded() {
    let ill = deimoss::lighting::solar_position::illumination(0.0, 15.0, 30.0);
    assert!(ill.incidence_deg >= 0.0 && ill.incidence_deg <= 180.0);
}
