#[test]
fn orbit_defaults() {
let o = ioss::physics::orbit::IoOrbit::new();
assert!(o.semi_major_axis_m > 4.0e8);
}
#[test]
fn orbital_period() {
let o = ioss::physics::orbit::IoOrbit::new();
assert!(o.orbital_period_s() > 1.0e5);
}
#[test]
fn periapsis_lt_apoapsis() {
let o = ioss::physics::orbit::IoOrbit::new();
assert!(o.periapsis_m() < o.apoapsis_m());
}
#[test]
fn orbital_speed() {
let o = ioss::physics::orbit::IoOrbit::new();
assert!(o.orbital_speed_m_s(o.semi_major_axis_m) > 0.0);
}
#[test]
fn rotation_synchronous() {
let r = ioss::physics::rotation::IoRotation::new();
assert!(r.synchronous);
assert!(r.equatorial_speed_m_s() > 0.0);
}
#[test]
fn tidal_response() {
let t = ioss::physics::tides::TidalResponse::current();
assert!(t.mean_displacement_m > 10.0);
}
#[test]
fn tidal_acceleration() {
assert!(ioss::physics::tides::jupiter_tidal_acceleration(0.0).abs() > 0.0);
}
#[test]
fn dissipation_power() {
let t = ioss::physics::tides::TidalResponse::current();
assert!(ioss::physics::tides::dissipation_power_w(t) > 1.0e12);
}
#[test]
fn micrometeorite() {
let m = ioss::physics::collisions::micrometeorite();
assert!(m.mass_kg() < 1.0);
}
#[test]
fn basin_forming() {
let b = ioss::physics::collisions::basin_forming_impactor();
assert!(b.transient_crater_diameter_m() > 1_000.0);
}