pub use crate::assertions::testing::CheckThatResultAssertion;
pub use crate::{assert_that, check_that, Fact};
use crate::{AssertionResult, AssertionStrategy};
#[macro_export]
macro_rules! check_that {
($actual:expr) => {
$crate::Subject::new(
&$actual,
stringify!($actual).to_string(),
None,
(),
Some($crate::Location::new(
file!().to_string(),
line!(),
column!(),
)),
std::marker::PhantomData::<$crate::testing::CheckThatResult>,
)
};
}
pub struct CheckThatResult(Result<(), AssertionResult>);
impl AssertionStrategy<CheckThatResult> for AssertionResult {
fn do_fail(self) -> CheckThatResult {
CheckThatResult(Err(self))
}
fn do_ok(self) -> CheckThatResult {
CheckThatResult(Ok(()))
}
}
impl AsRef<Result<(), AssertionResult>> for CheckThatResult {
fn as_ref(&self) -> &Result<(), AssertionResult> {
&self.0
}
}