pub enum RangeMatcher<T: PartialOrd> {
Closed(&'static str, RangeInclusive<T>),
HalfOpen(&'static str, Range<T>),
}Expand description
RangeMatcher offers a flexible way to assert whether a value falls within a specified range.
Supports both closed ranges (inclusive of endpoints) and half-open ranges (exclusive of the upper endpoint).
Works with any data type that implements the Debug and PartialOrd traits.
§Example
use clearcheck::matchers::Matcher;
use clearcheck::matchers::range::be_in_inclusive_range;
let matcher = be_in_inclusive_range(1..=4);
assert!(matcher.test(&2).passed());Variants§
Trait Implementations§
Source§impl<T> Matcher<T> for RangeMatcher<T>where
T: PartialOrd<T> + Debug,
impl<T> Matcher<T> for RangeMatcher<T>where
T: PartialOrd<T> + Debug,
fn test(&self, value: &T) -> MatcherResult
Auto Trait Implementations§
impl<T> Freeze for RangeMatcher<T>where
T: Freeze,
impl<T> RefUnwindSafe for RangeMatcher<T>where
T: RefUnwindSafe,
impl<T> Send for RangeMatcher<T>where
T: Send,
impl<T> Sync for RangeMatcher<T>where
T: Sync,
impl<T> Unpin for RangeMatcher<T>where
T: Unpin,
impl<T> UnsafeUnpin for RangeMatcher<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for RangeMatcher<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> ShouldNot<T> for T
impl<T> ShouldNot<T> for T
Source§fn should_not(&self, matcher: &dyn Matcher<T>)
fn should_not(&self, matcher: &dyn Matcher<T>)
Takes a matcher as input and performs an inverted assertion against the value itself.Inverts the result of the matcher’s test method, ensuring the value does not match.Panics if the inverted assertion fails, indicating that the value unexpectedly matched the matcher. Read more