pub struct Sequence { /* private fields */ }
Expand description
Used to enforce that mock calls must happen in the sequence specified.
Each expectation must expect to be called a fixed number of times. Once satisfied, the next expectation in the sequence will expect to be called.
§Examples
#[automock]
trait Foo {
fn foo(&self);
fn bar(&self) -> u32;
}
let mut seq = Sequence::new();
let mut mock0 = MockFoo::new();
let mut mock1 = MockFoo::new();
mock0.expect_foo()
.times(1)
.returning(|| ())
.in_sequence(&mut seq);
mock1.expect_bar()
.times(1)
.returning(|| 42)
.in_sequence(&mut seq);
mock0.foo();
mock1.bar();
It is an error to add an expectation to a Sequence
if its call count is
unspecified.
ⓘ
#[automock]
trait Foo {
fn foo(&self);
}
let mut seq = Sequence::new();
let mut mock = MockFoo::new();
mock.expect_foo()
.returning(|| ())
.in_sequence(&mut seq); // panics!
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Sequence
impl RefUnwindSafe for Sequence
impl Send for Sequence
impl Sync for Sequence
impl Unpin for Sequence
impl UnwindSafe for Sequence
Blanket Implementations§
Source§impl<T> Any for T
impl<T> Any for T
Source§fn type_id_compat(&self) -> TypeId
fn type_id_compat(&self) -> TypeId
TODO: once 1.33.0 is the minimum supported compiler version, remove
Any::type_id_compat and use StdAny::type_id instead.
https://github.com/rust-lang/rust/issues/27745
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