pub struct MockClock { /* private fields */ }Expand description
Mock clock for deterministic testing.
Time only advances when explicitly told to, enabling fully reproducible test scenarios.
§Example
use grate_limiter::{MockClock, Clock};
use std::sync::Arc;
let clock = Arc::new(MockClock::new());
assert_eq!(clock.now().as_millis(), 0);
clock.advance_ms(5000);
assert_eq!(clock.now().as_millis(), 5000);Implementations§
Source§impl MockClock
impl MockClock
pub fn new() -> Self
Sourcepub fn advance_nanos(&self, nanos: u64)
pub fn advance_nanos(&self, nanos: u64)
Advance time by the given number of nanoseconds.
Sourcepub fn advance_ms(&self, ms: u64)
pub fn advance_ms(&self, ms: u64)
Advance time by the given number of milliseconds.
Sourcepub fn advance_secs(&self, secs: u64)
pub fn advance_secs(&self, secs: u64)
Advance time by the given number of seconds.
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