1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
//! Assert macros for Some(_) items.
//!
//! These macros help compare Some(…) items, such as `std::Option::Some` or similar.
//!
//! Assert expression is Some(_):
//!
//! * [`assert_some!(a)`](macro@crate::assert_some)
//! ≈ a is Some(_)
//!
//! Compare Some(…) to another Some(…):
//!
//! * [`assert_some_eq!(a, b)`](macro@crate::assert_some_eq)
//! ≈ (a ⇒ Some(a̅) ⇒ a̅) = (b ⇒ Some(b̅) ⇒ b̅)
//!
//! * [`assert_some_ne!(a, b)`](macro@crate::assert_some_ne)
//! ≈ (a ⇒ Some(a̅) ⇒ a̅) ≠ (b ⇒ Some(b̅) ⇒ b̅)
//!
//! Compare Some(…) to an expression:
//!
//! * [`assert_some_eq_expr!(a, expr)`](macro@crate::assert_some_eq_expr)
//! ≈ (a ⇒ Some(a̅) ⇒ a̅) = b
//!
//! * [`assert_some_ne_expr!(a, b)`](macro@crate::assert_some_ne_expr)
//! ≈ (a ⇒ Some(a̅) ⇒ a̅) ≠ b
//!
//! # Example
//!
//! ```rust
//! use assertables::*;
//!
//! # fn main() {
//! let a: Option<i8> = Option::Some(1);
//! assert_some!(a);
//! # }
//! ```
// Verify Some(_)
pub mod assert_some;
// Compare with another
pub mod assert_some_eq;
pub mod assert_some_ne;
// Compare with expression
pub mod assert_some_eq_expr;
pub mod assert_some_ne_expr;