#[test]
fn jupiter_binary_or_simulate() {
    let j = europas::interactions::jupiters::ensure_jupiters_binary_or_simulate();
    assert!(j.orbital_radius_km > 0.0);
}

#[test]
fn subjupiter_bulge_finite() {
    let r = europas::physics::tides::TidalResponse::current();
    assert!(europas::interactions::earth_tides::subjupiter_bulge_m(r).is_finite());
}

#[test]
fn libration_factor_near_one() {
    assert!((europas::interactions::orbital_dynamics::libration_factor(0.0) - 1.0).abs() < 0.1);
}

#[test]
fn orbital_energy_finite() {
    let o = europas::physics::orbit::EuropaOrbit::new();
    assert!(
        europas::interactions::orbital_dynamics::orbital_energy_j_per_kg(o, o.semi_major_axis_m)
            .is_finite()
    );
}
