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> 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