pub struct MockTimer;Expand description
A mocked version of embassy_time::Timer that can be used in its place for unit tests.
This mocked version just immediately returns Poll::Ready when await’ed on.
§Examples
use embassy_futures::block_on;
use embassy_mock::time::{MockTimer, Timer};
use embassy_time::Duration;
let timer = MockTimer::after(Duration::from_secs(1));
block_on(timer);Trait Implementations§
impl Eq for MockTimer
impl StructuralPartialEq for MockTimer
Source§impl Timer for MockTimer
impl Timer for MockTimer
Source§fn after(_duration: Duration) -> Self
fn after(_duration: Duration) -> Self
Create a MockTimer that can be used to unit test code.
§Examples
use embassy_mock::time::Timer;
use embassy_time::Duration;
async fn production_code<T: Timer>() {
// Do something...
T::after(Duration::from_millis(100)).await;
// Do something else...
}
// The unit tests that use the `MockTimer`
#[cfg(test)]
mod tests {
use super::*;
use embassy_futures::block_on;
use embassy_mock::time::MockTimer;
#[test]
fn test_creating_timer() {
block_on(production_code::<MockTimer>());
}
}Auto Trait Implementations§
impl Freeze for MockTimer
impl RefUnwindSafe for MockTimer
impl Send for MockTimer
impl Sync for MockTimer
impl Unpin for MockTimer
impl UnsafeUnpin for MockTimer
impl UnwindSafe for MockTimer
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn map<U, F>(self, f: F) -> Map<Self, F>
fn map<U, F>(self, f: F) -> Map<Self, F>
Map this future’s output to a different type, returning a new future of
the resulting type. Read more
Source§fn map_into<U>(self) -> MapInto<Self, U>
fn map_into<U>(self) -> MapInto<Self, U>
Map this future’s output to a different type, returning a new future of
the resulting type. Read more
Source§fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>
Chain on a computation for when a future finished, passing the result of
the future to the provided closure
f. Read moreSource§fn left_future<B>(self) -> Either<Self, B>
fn left_future<B>(self) -> Either<Self, B>
Source§fn right_future<A>(self) -> Either<A, Self>
fn right_future<A>(self) -> Either<A, Self>
Source§fn into_stream(self) -> IntoStream<Self>where
Self: Sized,
fn into_stream(self) -> IntoStream<Self>where
Self: Sized,
Convert this future into a single element stream. Read more
Source§fn flatten(self) -> Flatten<Self>
fn flatten(self) -> Flatten<Self>
Flatten the execution of this future when the output of this
future is itself another future. Read more
Source§fn flatten_stream(self) -> FlattenStream<Self>
fn flatten_stream(self) -> FlattenStream<Self>
Flatten the execution of this future when the successful result of this
future is a stream. Read more
Source§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Fuse a future such that
poll will never again be called once it has
completed. This method can be used to turn any Future into a
FusedFuture. Read moreSource§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Do something with the output of a future before passing it on. Read more
Source§fn unit_error(self) -> UnitError<Self>where
Self: Sized,
fn unit_error(self) -> UnitError<Self>where
Self: Sized,
Turns a
Future<Output = T> into a
TryFuture<Ok = T, Error = ()>.Source§fn never_error(self) -> NeverError<Self>where
Self: Sized,
fn never_error(self) -> NeverError<Self>where
Self: Sized,
Turns a
Future<Output = T> into a
TryFuture<Ok = T, Error = Never>.Source§impl<F> IntoFuture for Fwhere
F: Future,
impl<F> IntoFuture for Fwhere
F: Future,
Source§type IntoFuture = F
type IntoFuture = F
Which kind of future are we turning this into?
Source§fn into_future(self) -> <F as IntoFuture>::IntoFuture
fn into_future(self) -> <F as IntoFuture>::IntoFuture
Creates a future from a value. Read more
Source§impl<F> WithTimeout for Fwhere
F: Future,
impl<F> WithTimeout for Fwhere
F: Future,
Source§async fn with_timeout(
self,
timeout: Duration,
) -> Result<<F as WithTimeout>::Output, TimeoutError>
async fn with_timeout( self, timeout: Duration, ) -> Result<<F as WithTimeout>::Output, TimeoutError>
Runs a given future with a timeout. Read more
Source§async fn with_deadline(
self,
at: Instant,
) -> Result<<F as WithTimeout>::Output, TimeoutError>
async fn with_deadline( self, at: Instant, ) -> Result<<F as WithTimeout>::Output, TimeoutError>
Runs a given future with a deadline time. Read more