#[test]
fn mars_view_default_visible() {
    let v = deimoss::observation::mars_view::MarsView::sub_mars_default();
    assert!(v.is_visible());
}

#[test]
fn marsshine_gain_positive() {
    let v = deimoss::observation::mars_view::MarsView::sub_mars_default();
    let g = deimoss::observation::mars_view::marsshine_gain(v, 0.068);
    assert!(g > 0.0);
}

#[test]
fn link_budget_margin() {
    let l = deimoss::observation::communications::mars_orbiter_relay();
    let m = l.received_margin_db(3.0);
    assert!(m.is_finite());
}

#[test]
fn navigation_solution_robust() {
    let n = deimoss::observation::navigation::NavigationSolution::autonomous_surface_fix();
    assert!(n.is_robust());
}
