use pocket_ic::{PocketIc, Time};
pub trait PocketIcTimeExt {
fn tick_n(&self, times: usize);
fn current_time_nanos(&self) -> u64;
fn restore_time_nanos(&self, nanos_since_epoch: u64);
}
impl PocketIcTimeExt for PocketIc {
fn tick_n(&self, times: usize) {
for _ in 0..times {
self.tick();
}
}
fn current_time_nanos(&self) -> u64 {
self.get_time().as_nanos_since_unix_epoch()
}
fn restore_time_nanos(&self, nanos_since_epoch: u64) {
let restored = Time::from_nanos_since_unix_epoch(nanos_since_epoch);
self.set_time(restored);
self.set_certified_time(restored);
}
}