assert-rs 0.1.1

An assertion library that uses types and data to fail tests instead of panicking.
Documentation
#![cfg(test)]
use assert_rs::*;

#[test]
fn multi_assert() -> impl Assertion {
    multi_assert!(
        assert_that!(1 + 2).is_equal_to(3),
        assert_that!(3 + 4).is_equal_to(7)
    )
}

#[test]
fn multi_assert_fail_l() -> impl Assertion {
    multi_assert!(
        assert_that!(1 + 2).is_equal_to(3),
        assert_that!(3 + 4).is_equal_to(5)
    )
    .should_fail()
}

#[test]
fn multi_assert_fail_r() -> impl Assertion {
    multi_assert!(
        assert_that!(1 + 2).is_equal_to(2),
        assert_that!(3 + 4).is_equal_to(7)
    )
    .should_fail()
}

#[test]
fn multi_assert_fail_both() -> impl Assertion {
    multi_assert!(
        assert_that!(1 + 2).is_equal_to(2),
        assert_that!(3 + 4).is_equal_to(5)
    )
    .should_fail()
}

#[test]
fn multi_assert_many() -> impl Assertion {
    multi_assert!(
        assert_that!(1 + 2).is_equal_to(3),
        assert_that!(4).is_equal_to(6 - 2),
        assert_that!(23).is_equal_to(10 * 2 + 3),
        assert_that!(7).is_greater_than(5),
        assert_that!(42).is_not_equal_to(6),
    )
}

#[test]
fn multi_assert_many_fail() -> impl Assertion {
    multi_assert!(
        assert_that!(1 + 2).is_equal_to(3),
        assert_that!(4).is_equal_to(6 - 2),
        assert_that!(23).is_equal_to(10 * 2 + 4),
        assert_that!(7).is_greater_than(5),
        assert_that!(42).is_not_equal_to(6),
    )
    .should_fail()
}

#[test]
fn multi_assert_dyn() -> impl Assertion {
    multi_assert!(#[dyn]
        assert_that!(1 + 2).is_equal_to(3),
        assert_that!(true).is_false().should_fail(),
    )
}

#[test]
fn multi_assert_dyn_fail_l() -> impl Assertion {
    multi_assert!(#[dyn]
        assert_that!(1 + 2).is_equal_to(4),
        assert_that!(true).is_true(),
    )
    .should_fail()
}

#[test]
fn multi_assert_dyn_fail_r() -> impl Assertion {
    multi_assert!(#[dyn]
        assert_that!(1 + 2).is_equal_to(3),
        assert_that!(Ok::<&str, u8>("hi")).is_err(),
    )
    .should_fail()
}

#[test]
fn multi_assert_dyn_fail_both() -> impl Assertion {
    multi_assert!(#[dyn]
        assert_that!(Err::<&str, u8>(2)).is_ok(),
        assert_that!("hi").is_equal_to("hello"),
    )
    .should_fail()
}

#[test]
fn multi_assert_dyn_many() -> impl Assertion {
    multi_assert!(#[dyn]
        assert_that!(1 + 2).is_equal_to(3),
        assert_that!(true).is_false().should_fail(),
        assert_that!(true).is_true(),
        assert_that!(Ok::<&str, u8>("hi")).is_ok(),
        assert_that!(Err::<&str, u8>(2)).is_err(),
        assert_that!("hi").is_not_equal_to("hello"),
    )
}

#[test]
fn multi_assert_dyn_many_fail() -> impl Assertion {
    multi_assert!(#[dyn]
        assert_that!(1 + 2).is_equal_to(3),
        assert_that!(true).is_false().should_fail(),
        assert_that!(true).is_true(),
        assert_that!(Ok::<&str, u8>("hi")).is_err(),
        assert_that!(Err::<&str, u8>(2)).is_err(),
        assert_that!("hi").is_not_equal_to("hello"),
    )
    .should_fail()
}