conspire 0.6.0

The Rust interface to conspire.
Documentation
macro_rules! test_explicit {
    ($integration: expr) => {
        use crate::math::{
            Scalar, Vector,
            integrate::{Explicit, IntegrationError},
            test::TestError,
        };
        #[test]
        #[should_panic(expected = "The time must contain at least two entries.")]
        fn initial_time_not_less_than_final_time() {
            let _: (Vector, Vector, _) = $integration
                .integrate(|_: Scalar, _: &Scalar| panic!(), &[0.0], 0.0)
                .unwrap();
        }
        #[test]
        fn into_test_error() {
            let result: Result<(Vector, Vector, _), IntegrationError> =
                $integration.integrate(|_: Scalar, _: &Scalar| panic!(), &[0.0], 0.0);
            let _: TestError = result.unwrap_err().into();
        }
        #[test]
        #[should_panic(expected = "The initial time must precede the final time.")]
        fn length_time_less_than_two() {
            let _: (Vector, Vector, _) = $integration
                .integrate(|_: Scalar, _: &Scalar| panic!(), &[0.0, 1.0, 0.0], 0.0)
                .unwrap();
        }
    };
}
pub(crate) use test_explicit;