#[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)> = 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)); } } }