pub struct MockClock { /* private fields */ }Expand description
Mock clock for testing with controllable time.
Allows tests to advance time deterministically without actual delays.
§Example
use std::time::Duration;
use steam_client::utils::clock::{Clock, MockClock};
let clock = MockClock::new();
let t1 = clock.now();
clock.advance(Duration::from_secs(5));
let t2 = clock.now();
assert_eq!(t2 - t1, Duration::from_secs(5));Implementations§
Source§impl MockClock
impl MockClock
Sourcepub fn advance(&self, duration: Duration)
pub fn advance(&self, duration: Duration)
Advance the clock by the given duration.
This moves the simulated time forward without blocking.
Sourcepub fn set_offset(&self, offset: Duration)
pub fn set_offset(&self, offset: Duration)
Set the clock to a specific offset from the base time.
Sourcepub fn current_offset(&self) -> Duration
pub fn current_offset(&self) -> Duration
Get the current offset from the base time.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MockClock
impl RefUnwindSafe for MockClock
impl Send for MockClock
impl Sync for MockClock
impl Unpin for MockClock
impl UnsafeUnpin for MockClock
impl UnwindSafe for MockClock
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more