use monotonic_time_rs::{Millis, MillisDuration};
use time_tick::TimeTick;
#[test]
fn time_tick() {
let mut now = Millis::new(0);
let mut timer = TimeTick::new(now, MillisDuration::from_millis(10), 100);
now += MillisDuration::from_millis(20);
assert_eq!(timer.calculate_ticks(now), 2);
timer.performed_ticks(2);
now += MillisDuration::from_millis(9);
assert_eq!(timer.calculate_ticks(now), 0);
}
#[test]
fn time_tick_change_duration() {
let mut now = Millis::new(0);
let mut timer = TimeTick::new(now, MillisDuration::from_millis(10), 100);
now += MillisDuration::from_millis(20);
assert_eq!(timer.calculate_ticks(now), 2);
timer.performed_ticks(2);
now += MillisDuration::from_millis(9);
timer.set_tick_duration(MillisDuration::from_millis(9));
assert_eq!(timer.calculate_ticks(now), 1);
timer.performed_ticks(1);
now += MillisDuration::from_millis(8);
assert_eq!(timer.calculate_ticks(now), 0);
}