pub struct ManualClock { /* private fields */ }Expand description
Manually advanceable clock for deterministic tests.
Starts at UNIX_EPOCH + 1_000_000 s to avoid edge cases near the epoch.
All clones share the same underlying time via an std::sync::Arc.
§Example
use std::time::Duration;
use fraiseql_core::utils::clock::{Clock, ManualClock};
let clock = ManualClock::new();
let t0 = clock.now_secs();
clock.advance(Duration::from_secs(10));
assert_eq!(clock.now_secs(), t0 + 10);Implementations§
Source§impl ManualClock
impl ManualClock
Trait Implementations§
Source§impl Clock for ManualClock
Available on crate features test-utils only.
impl Clock for ManualClock
Available on crate features
test-utils only.Source§impl Clone for ManualClock
impl Clone for ManualClock
Source§impl Debug for ManualClock
impl Debug for ManualClock
Auto Trait Implementations§
impl Freeze for ManualClock
impl RefUnwindSafe for ManualClock
impl Send for ManualClock
impl Sync for ManualClock
impl Unpin for ManualClock
impl UnsafeUnpin for ManualClock
impl UnwindSafe for ManualClock
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