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.
# use mockall::*;
#[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 RefUnwindSafe for Sequence
impl Send for Sequence
impl Sync for Sequence
impl Unpin for Sequence
impl UnwindSafe for Sequence
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