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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
//! The matchers provided by this crate.
//!
//! This module provides the underlying matcher implementations for the matcher functions exported
//! at the crate root. For example, this module provides [`EqualMatcher`], which is used to
//! implement [`equal`].
//!
//! If you're just writing tests and not writing custom matchers or formatters, you don't need
//! anything in this module.
//!
//! If you want to change the formatting of one of the provided matchers, you can re-use the matcher
//! implementation in this module and pair it with your own custom formatter.
//!
//! See [Writing Custom Formatters][crate::docs::writing_formatters] to learn how to change the
//! formatting of the provided matchers.
//!
//! See [Writing Custom Matchers][crate::docs::writing_matchers] to learn how to implement your own
//! matchers like the ones in this module.
//!
//! [`EqualMatcher`]: crate::matchers::equal::EqualMatcher
//! [`equal`]: crate::equal
/// Matchers for working with booleans.
pub mod boolean;
/// Matchers for working with collections.
pub mod collections;
/// Combinator matchers for composing other matchers.
pub mod combinators;
/// Matchers for working with `Default` values.
pub mod default;
/// Matchers that generate diffs between values.
#[cfg(feature = "diff")]
pub mod diff;
#[cfg(feature = "diff")]
mod diff_impl;
/// Matchers for comparing if two values are equal.
pub mod equal;
/// Matchers for making assertions about struct fields.
pub mod fields;
/// Matchers for working with files.
pub mod files;
/// Matchers that map values in a matcher pipeline.
pub mod map;
/// Matchers that invert other matchers.
pub mod not;
/// Matchers for working with numeric values.
pub mod numbers;
/// Matchers for working with `Option` values.
pub mod option;
/// Matchers for making assertions about the ordering of values.
pub mod ord;
/// Matchers for making assertions using patterns.
pub mod pattern;
/// Matchers for working with `Result` values.
pub mod result;
/// Matchers for working with strings.
pub mod strings;
/// Matchers for working with time.
pub mod time;
mod values;
pub use values::{Expectation, FailuresByField, Mismatch, SomeFailures};