rmv_bevy_testing_tools/
assertions.rs1use speculoos::{AssertionFailure, Spec};
2
3pub trait IsContainedIn<T>
4where
5 T: PartialEq + std::fmt::Debug,
6{
7 fn is_contained_in(&mut self, collection: &[T]);
8}
9
10#[cfg_attr(coverage_nightly, coverage(off))]
11impl<T> IsContainedIn<T> for Spec<'_, T>
12where
13 T: PartialEq + std::fmt::Debug,
14{
15 fn is_contained_in(&mut self, collection: &[T]) {
16 let subject = self.subject;
17 if !collection.contains(subject) {
18 AssertionFailure::from_spec(self)
19 .with_expected(format!("<{subject:?}> to be contained in <{collection:?}>"))
20 .with_actual("but wasn't.".into())
21 .fail();
22 }
23 }
24}