pub struct VirtualClock(/* private fields */);Expand description
A clock whose time moves only when it is advanced.
Clones share one time, so a test keeps a clone after handing the clock to an app and advances the app’s time through it.
use std::time::Duration;
use smudge_core::timer::VirtualClock;
use web_time::Instant;
let start = Instant::now();
let clock = VirtualClock::new(start);
let shared = clock.clone();
clock.advance(Duration::from_millis(16));
assert_eq!(shared.now(), start + Duration::from_millis(16));Implementations§
Trait Implementations§
Source§impl Clone for VirtualClock
impl Clone for VirtualClock
Source§impl Debug for VirtualClock
impl Debug for VirtualClock
Source§impl From<VirtualClock> for Clock
impl From<VirtualClock> for Clock
Source§fn from(clock: VirtualClock) -> Clock
fn from(clock: VirtualClock) -> Clock
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for VirtualClock
impl !Send for VirtualClock
impl !Sync for VirtualClock
impl !UnwindSafe for VirtualClock
impl Forget for VirtualClock
impl Freeze for VirtualClock
impl Move for VirtualClock
impl Unpin for VirtualClock
impl UnsafeUnpin for VirtualClock
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