lets_expect_assertions 0.5.2

lets_expect assertions. This crate is internal to the lets_expect crate and should not be used directly.
Documentation
use colored::Colorize;
use lets_expect_core::assertions::{
    assertion_error::AssertionError, assertion_result::AssertionResult,
};

pub fn be_true(value: &bool) -> AssertionResult {
    if *value {
        Ok(())
    } else {
        let value = format!("{:?}", value).red().bold();
        Err(AssertionError {
            message: vec![format!("Expected {} to be true", value)],
        })
    }
}

pub fn be_false(value: &bool) -> AssertionResult {
    if !*value {
        Ok(())
    } else {
        let value = format!("{:?}", value).red().bold();
        Err(AssertionError {
            message: vec![format!("Expected {} to be false", value)],
        })
    }
}

#[cfg(test)]
mod test_super {
    use super::*;
    use crate::expected_err::expected_err;
    use colored::control::set_override;

    #[test]
    fn test_be_true_ok() {
        assert_eq!(be_true(&true), Ok(()));
    }

    #[test]
    fn test_be_true_err() {
        set_override(false);
        assert_eq!(
            be_true(&false),
            expected_err(vec!["Expected false to be true"])
        );
    }

    #[test]
    fn test_be_false() {
        assert_eq!(be_false(&false), Ok(()));
    }

    #[test]
    fn test_be_false_err() {
        set_override(false);
        assert_eq!(
            be_false(&true),
            expected_err(vec!["Expected true to be false"])
        );
    }
}