use core::fmt;
use super::Time;
impl fmt::Display for Time {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let (hour, minute, second) = (self.hour(), self.minute(), self.second());
write!(f, "{hour:02}:{minute:02}:{second:02}")
}
}
#[cfg(test)]
mod tests {
use time::macros::time;
use super::*;
#[test]
fn debug() {
assert_eq!(format!("{:?}", Time::MIN), "Time(0)");
assert_eq!(
format!("{:?}", Time::from_time(time!(19:25:00))),
"Time(39712)"
);
assert_eq!(
format!("{:?}", Time::from_time(time!(10:38:30))),
"Time(21711)"
);
assert_eq!(format!("{:?}", Time::MAX), "Time(49021)");
}
#[test]
fn display() {
assert_eq!(format!("{}", Time::MIN), "00:00:00");
assert_eq!(format!("{}", Time::from_time(time!(19:25:00))), "19:25:00");
assert_eq!(format!("{}", Time::from_time(time!(10:38:30))), "10:38:30");
assert_eq!(format!("{}", Time::MAX), "23:59:58");
}
}