#![expect(clippy::unwrap_used, reason = "example code")]
use std::time::Duration;
use futures::executor::block_on;
use tick::ClockControl;
fn main() {
let control = ClockControl::new().auto_advance_timers(true);
let clock = control.to_clock();
let now = clock.system_time();
let later = clock.system_time();
assert_eq!(now, later);
control.advance(Duration::from_secs(1));
assert_eq!(clock.system_time().duration_since(later).unwrap(), Duration::from_secs(1));
let stopwatch = clock.stopwatch();
assert_eq!(stopwatch.elapsed(), Duration::from_secs(0));
control.advance(Duration::from_secs(2));
assert_eq!(stopwatch.elapsed(), Duration::from_secs(2));
block_on(clock.delay(Duration::from_secs(1000)));
}