111 lines
3.7 KiB
Rust
111 lines
3.7 KiB
Rust
#[cfg(test)]
|
|
mod test {
|
|
use super::*;
|
|
use crate::duration_to_string::duration_to_string::duration_to_string;
|
|
use crate::duration_to_string::duration_to_string::*;
|
|
use std::time::Duration;
|
|
|
|
#[test]
|
|
fn multi_duration_to_string() {
|
|
let params: Vec<(&str, Duration, Option<bool>)> = vec![
|
|
("1 second", Duration::from_secs(1), Some(false)),
|
|
("4 seconds", Duration::from_secs(4), Some(false)),
|
|
("1 minute", Duration::from_secs(SECONDS_IN_MINUTE as u64),Some(false)),
|
|
("4 minutes", Duration::from_secs((SECONDS_IN_MINUTE * 4) as u64), Some(false)),
|
|
(
|
|
"1 hour",
|
|
Duration::from_secs(SECONDS_IN_HOUR as u64),
|
|
Some(false),
|
|
),
|
|
(
|
|
"4 hours",
|
|
Duration::from_secs((SECONDS_IN_HOUR * 4) as u64),
|
|
Some(false),
|
|
),
|
|
(
|
|
"4 hours 5 minutes",
|
|
Duration::from_secs((SECONDS_IN_HOUR * 4 + SECONDS_IN_MINUTE * 5) as u64),
|
|
Some(false),
|
|
),
|
|
(
|
|
"1 day",
|
|
Duration::from_secs(SECONDS_IN_DAY as u64),
|
|
Some(false),
|
|
),
|
|
(
|
|
"0 days 0 hours 0 minutes 1 second",
|
|
Duration::from_secs(1),
|
|
Some(true),
|
|
),
|
|
(
|
|
"0 days 0 hours 0 minutes 4 seconds",
|
|
Duration::from_secs(4),
|
|
Some(true),
|
|
),
|
|
(
|
|
"0 days 0 hours 1 minute 0 seconds",
|
|
Duration::from_secs(SECONDS_IN_MINUTE as u64),
|
|
Some(true),
|
|
),
|
|
(
|
|
"0 days 0 hours 4 minutes 0 seconds",
|
|
Duration::from_secs((SECONDS_IN_MINUTE * 4) as u64),
|
|
Some(true),
|
|
),
|
|
(
|
|
"0 days 1 hour 0 minutes 0 seconds",
|
|
Duration::from_secs(SECONDS_IN_HOUR as u64),
|
|
Some(true),
|
|
),
|
|
(
|
|
"0 days 4 hours 0 minutes 0 seconds",
|
|
Duration::from_secs((SECONDS_IN_HOUR * 4) as u64),
|
|
Some(true),
|
|
),
|
|
(
|
|
"0 days 4 hours 5 minutes 0 seconds",
|
|
Duration::from_secs((SECONDS_IN_HOUR * 4 + SECONDS_IN_MINUTE * 5) as u64),
|
|
Some(true),
|
|
),
|
|
(
|
|
"1 day 0 hours 0 minutes 0 seconds",
|
|
Duration::from_secs(SECONDS_IN_DAY as u64),
|
|
Some(true),
|
|
),
|
|
(
|
|
"1 day 0 hours 0 minutes 1 second",
|
|
Duration::from_secs((SECONDS_IN_DAY + 1) as u64),
|
|
Some(true),
|
|
),
|
|
("1 second", Duration::from_secs(1), None),
|
|
("4 seconds", Duration::from_secs(4), None),
|
|
(
|
|
"1 minute",
|
|
Duration::from_secs(SECONDS_IN_MINUTE as u64),
|
|
None,
|
|
),
|
|
(
|
|
"4 minutes",
|
|
Duration::from_secs((SECONDS_IN_MINUTE * 4) as u64),
|
|
None,
|
|
),
|
|
("1 hour", Duration::from_secs(SECONDS_IN_HOUR as u64), None),
|
|
(
|
|
"4 hours",
|
|
Duration::from_secs((SECONDS_IN_HOUR * 4) as u64),
|
|
None,
|
|
),
|
|
(
|
|
"4 hours 5 minutes",
|
|
Duration::from_secs((SECONDS_IN_HOUR * 4 + SECONDS_IN_MINUTE * 5) as u64),
|
|
None,
|
|
),
|
|
("1 day", Duration::from_secs(SECONDS_IN_DAY as u64), None),
|
|
];
|
|
|
|
for (expected, actual, show) in params {
|
|
assert_eq!(expected, duration_to_string(actual, show));
|
|
}
|
|
}
|
|
}
|