#[test]
fn planet_view_visible() {
    let pv = phoboss::observation::mars_view::MarsView::sub_mars_default();
    assert!(pv.is_visible());
}

#[test]
fn planetshine_gain() {
    let pv = phoboss::observation::mars_view::MarsView::sub_mars_default();
    assert!(phoboss::observation::mars_view::marsshine_gain(pv, 0.5) > 0.0);
}

#[test]
fn link_budget() {
    let lb = phoboss::observation::communications::mars_orbiter_relay();
    assert!(lb.received_margin_db(3.0).is_finite());
}

#[test]
fn navigation_robust() {
    let nav = phoboss::observation::navigation::NavigationSolution::autonomous_surface_fix();
    assert!(nav.is_robust());
}
