pub trait Expectation<S: ?Sized> {
// Required methods
fn test(&mut self, subject: &S) -> bool;
fn message(
&self,
expression: &Expression<'_>,
actual: &S,
inverted: bool,
format: &DiffFormat,
) -> String;
}Expand description
An expectation defines a test for a property of the asserted subject.
It requires two methods: a test() method and a message() method.
The test() method is called to verify whether an actual subject meets the
expected property. In case the test of the expectation fails, the
message() method is called to form an expectation-specific failure
message.
Required Methods§
Sourcefn test(&mut self, subject: &S) -> bool
fn test(&mut self, subject: &S) -> bool
Verifies whether the actual subject fulfills the expected property.
Sourcefn message(
&self,
expression: &Expression<'_>,
actual: &S,
inverted: bool,
format: &DiffFormat,
) -> String
fn message( &self, expression: &Expression<'_>, actual: &S, inverted: bool, format: &DiffFormat, ) -> String
Forms a failure message for this expectation.
Implementors§
impl Expectation<&char> for IsAlphabetic
impl Expectation<&char> for IsAlphanumeric
impl Expectation<&char> for IsAscii
impl Expectation<&char> for IsControlChar
impl Expectation<&char> for IsDigit
impl Expectation<&char> for IsLowerCase
impl Expectation<&char> for IsUpperCase
impl Expectation<&char> for IsWhitespace
impl Expectation<bool> for IsFalse
impl Expectation<bool> for IsTrue
impl Expectation<char> for IsAlphabetic
impl Expectation<char> for IsAlphanumeric
impl Expectation<char> for IsAscii
impl Expectation<char> for IsControlChar
impl Expectation<char> for IsDigit
impl Expectation<char> for IsLowerCase
impl Expectation<char> for IsUpperCase
impl Expectation<char> for IsWhitespace
impl Expectation<f32> for IsCloseTo<f32, F32Margin>
Available on crate feature
float-cmp only.impl Expectation<f64> for IsCloseTo<f64, F64Margin>
Available on crate feature
float-cmp only.impl<M, E> Expectation<M> for MapContainsExactlyKeys<E>where
M: MapProperties,
<M as MapProperties>::Key: PartialEq<E> + Debug,
<M as MapProperties>::Value: Debug,
E: Debug,
impl<M, E> Expectation<M> for MapContainsKey<E>where
M: MapProperties,
<M as MapProperties>::Key: PartialEq<E> + Debug,
<M as MapProperties>::Value: Debug,
E: Debug,
impl<M, E> Expectation<M> for MapContainsKeys<E>where
M: MapProperties,
<M as MapProperties>::Key: PartialEq<E> + Debug,
<M as MapProperties>::Value: Debug,
E: Debug,
impl<M, E> Expectation<M> for MapContainsValue<E>where
M: MapProperties,
<M as MapProperties>::Key: Debug,
<M as MapProperties>::Value: PartialEq<E> + Debug,
E: Debug,
impl<M, E> Expectation<M> for MapContainsValues<E>where
M: MapProperties,
<M as MapProperties>::Key: Debug,
<M as MapProperties>::Value: PartialEq<E> + Debug,
E: Debug,
impl<M, E> Expectation<M> for MapDoesNotContainKeys<E>where
M: MapProperties,
<M as MapProperties>::Key: PartialEq<E> + Debug,
<M as MapProperties>::Value: Debug,
E: Debug,
impl<M, E> Expectation<M> for MapDoesNotContainValues<E>where
M: MapProperties,
<M as MapProperties>::Key: Debug,
<M as MapProperties>::Value: PartialEq<E> + Debug,
E: Debug,
impl<S> Expectation<Code<S>> for DoesNotPanicwhere
S: FnOnce(),
Available on crate feature
panic only.impl<S> Expectation<Code<S>> for DoesPanicwhere
S: FnOnce(),
Available on crate feature
panic only.impl<S> Expectation<S> for ErrorHasSourcewhere
S: Error,
impl<S> Expectation<S> for ErrorHasSourceMessagewhere
S: Error,
impl<S> Expectation<S> for HasAtLeastCharCount<usize>where
S: CharCountProperty,
impl<S> Expectation<S> for HasAtLeastLength<usize>where
S: LengthProperty + Debug,
impl<S> Expectation<S> for HasAtMostCharCount<usize>where
S: CharCountProperty + Debug,
impl<S> Expectation<S> for HasAtMostLength<usize>where
S: LengthProperty + Debug,
impl<S> Expectation<S> for HasCharCount<usize>where
S: CharCountProperty + Debug,
impl<S> Expectation<S> for HasCharCountGreaterThan<usize>where
S: CharCountProperty + Debug,
impl<S> Expectation<S> for HasCharCountLessThan<usize>where
S: CharCountProperty + Debug,
impl<S> Expectation<S> for HasLength<usize>where
S: LengthProperty + Debug,
impl<S> Expectation<S> for HasLengthGreaterThan<usize>where
S: LengthProperty + Debug,
impl<S> Expectation<S> for HasLengthLessThan<usize>where
S: LengthProperty + Debug,
impl<S> Expectation<S> for HasPrecisionOfwhere
S: DecimalProperties + Debug,
impl<S> Expectation<S> for HasScaleOfwhere
S: DecimalProperties + Debug,
impl<S> Expectation<S> for IsANumberwhere
S: IsNanProperty + Debug,
impl<S> Expectation<S> for IsEmptywhere
S: IsEmptyProperty + Debug,
impl<S> Expectation<S> for IsFinitewhere
S: InfinityProperty + Debug,
impl<S> Expectation<S> for IsInfinitewhere
S: InfinityProperty + Debug,
impl<S> Expectation<S> for IsIntegerwhere
S: DecimalProperties + Debug,
impl<S> Expectation<S> for IsNegativewhere
S: SignumProperty + Debug,
impl<S> Expectation<S> for IsOne
impl<S> Expectation<S> for IsPositivewhere
S: SignumProperty + Debug,
impl<S> Expectation<S> for IsSameAs<S>
impl<S> Expectation<S> for IsZero
impl<S> Expectation<S> for StringContains<&str>
impl<S> Expectation<S> for StringContains<char>
impl<S> Expectation<S> for StringContains<String>
impl<S> Expectation<S> for StringContainsAnyOf<&[char]>
impl<S> Expectation<S> for StringEndsWith<&str>
impl<S> Expectation<S> for StringEndsWith<char>
impl<S> Expectation<S> for StringEndsWith<String>
impl<S> Expectation<S> for StringMatches<'_>
Available on crate feature
regex only.