use super::*;
#[test]
fn finite_deadlines_do_not_become_early_polls() {
for (nanos, milliseconds) in [
(1, 1),
(999_999, 1),
(1_000_000, 1),
(1_000_001, 2),
(16_666_667, 17),
] {
assert_eq!(
poll_timeout(Some(Duration::from_nanos(nanos))),
Some(Duration::from_millis(milliseconds)),
"deadline at {nanos} ns",
);
}
}
#[test]
fn immediate_and_unbounded_polls_remain_distinct() {
assert_eq!(poll_timeout(None), None);
assert_eq!(poll_timeout(Some(Duration::ZERO)), Some(Duration::ZERO));
}
#[test]
fn distant_deadlines_fit_the_platforms_signed_timeout() {
let maximum = Duration::from_millis(i32::MAX as u64);
for duration in [maximum, maximum + Duration::from_nanos(1), Duration::MAX] {
assert_eq!(poll_timeout(Some(duration)), Some(maximum));
}
}