#[test]
fn jupiter_binary_or_simulate() {
let j = callistos::interactions::jupiters::ensure_jupiters_binary_or_simulate();
assert!(j.orbital_radius_km > 0.0);
assert!(j.orbital_period_days > 0.0);
}
#[test]
fn subjupiter_bulge_positive() {
let r = callistos::physics::tides::TidalResponse::current();
let b = callistos::interactions::earth_tides::subjupiter_bulge_m(r);
assert!(b.is_finite());
}
#[test]
fn antijupiter_bulge_finite() {
let r = callistos::physics::tides::TidalResponse::current();
let b = callistos::interactions::earth_tides::antijupiter_bulge_m(r);
assert!(b.is_finite());
}
#[test]
fn libration_factor_near_one() {
let f = callistos::interactions::orbital_dynamics::libration_factor(0.0);
assert!((f - 1.0).abs() < 0.1);
}
#[test]
fn orbital_energy_finite() {
let orbit = callistos::physics::orbit::CallistoOrbit::new();
let e = callistos::interactions::orbital_dynamics::orbital_energy_j_per_kg(
orbit,
orbit.semi_major_axis_m,
);
assert!(e.is_finite());
}