From 83cf350f04c66835cf7f302863257d49e73f28f7 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Tue, 30 Nov 2021 13:12:01 +0100 Subject: [PATCH] proxmox-time: daily_duration.rs: rustfmt Signed-off-by: Dominik Csapak --- proxmox-time/src/daily_duration.rs | 76 ++++++++++++++++++------------ 1 file changed, 46 insertions(+), 30 deletions(-) diff --git a/proxmox-time/src/daily_duration.rs b/proxmox-time/src/daily_duration.rs index d5e0d90e..54037bac 100644 --- a/proxmox-time/src/daily_duration.rs +++ b/proxmox-time/src/daily_duration.rs @@ -23,7 +23,7 @@ impl PartialOrd for HmTime { fn partial_cmp(&self, other: &Self) -> Option { let mut order = self.hour.cmp(&other.hour); if order == Ordering::Equal { - order = self.minute.cmp(&other.minute); + order = self.minute.cmp(&other.minute); } Some(order) } @@ -39,10 +39,8 @@ pub struct DailyDuration { } impl DailyDuration { - /// Test it time is within this frame pub fn time_match(&self, epoch: i64, utc: bool) -> Result { - let t = TmEditor::with_epoch(epoch, utc)?; Ok(self.time_match_with_tm_editor(&t)) @@ -55,18 +53,17 @@ impl DailyDuration { pub fn time_match_with_tm_editor(&self, t: &TmEditor) -> bool { let all_days = self.days.is_empty() || self.days.is_all(); - if !all_days { // match day first + if !all_days { + // match day first match u32::try_from(t.day_num()) { - Ok(day_num) => { - match WeekDays::from_bits(1< { - if !self.days.contains(day) { - return false; - } + Ok(day_num) => match WeekDays::from_bits(1 << day_num) { + Some(day) => { + if !self.days.contains(day) { + return false; } - None => return false, } - } + None => return false, + }, Err(_) => return false, } } @@ -136,43 +133,62 @@ mod test { fn test_parse( duration_str: &str, - start_h: u32, start_m: u32, - end_h: u32, end_m: u32, + start_h: u32, + start_m: u32, + end_h: u32, + end_m: u32, days: &[usize], ) -> Result<(), Error> { let mut day_bits = 0; - for day in days { day_bits |= 1< i64 { - (mday*3600*24 + hour*3600 + min*60) as i64 + (mday * 3600 * 24 + hour * 3600 + min * 60) as i64 } #[test] fn test_daily_duration_parser() -> Result<(), Error> { - assert!(parse_daily_duration("").is_err()); assert!(parse_daily_duration(" 8-12").is_err()); assert!(parse_daily_duration("8:60-12").is_err()); @@ -186,8 +202,8 @@ mod test { test_parse("8:05 - 12:20", 8, 5, 12, 20, &[])?; test_parse("mon 8-12", 8, 0, 12, 0, &[0])?; - test_parse("tue..fri 8-12", 8, 0, 12, 0, &[1,2,3,4])?; - test_parse("sat,tue..thu,fri 8-12", 8, 0, 12, 0, &[1,2,3,4,5])?; + test_parse("tue..fri 8-12", 8, 0, 12, 0, &[1, 2, 3, 4])?; + test_parse("sat,tue..thu,fri 8-12", 8, 0, 12, 0, &[1, 2, 3, 4, 5])?; Ok(()) } @@ -196,25 +212,25 @@ mod test { fn test_time_match() -> Result<(), Error> { const THURSDAY_80_00: i64 = make_test_time(0, 8, 0); const THURSDAY_12_00: i64 = make_test_time(0, 12, 0); - const DAY: i64 = 3600*24; + const DAY: i64 = 3600 * 24; let duration = parse_daily_duration("thu..fri 8:05-12")?; assert!(!duration.time_match(THURSDAY_80_00, true)?); assert!(!duration.time_match(THURSDAY_80_00 + DAY, true)?); - assert!(!duration.time_match(THURSDAY_80_00 + 2*DAY, true)?); + assert!(!duration.time_match(THURSDAY_80_00 + 2 * DAY, true)?); - assert!(duration.time_match(THURSDAY_80_00 + 5*60, true)?); - assert!(duration.time_match(THURSDAY_80_00 + 5*60 + DAY, true)?); - assert!(!duration.time_match(THURSDAY_80_00 + 5*60 + 2*DAY, true)?); + assert!(duration.time_match(THURSDAY_80_00 + 5 * 60, true)?); + assert!(duration.time_match(THURSDAY_80_00 + 5 * 60 + DAY, true)?); + assert!(!duration.time_match(THURSDAY_80_00 + 5 * 60 + 2 * DAY, true)?); assert!(duration.time_match(THURSDAY_12_00 - 1, true)?); assert!(duration.time_match(THURSDAY_12_00 - 1 + DAY, true)?); - assert!(!duration.time_match(THURSDAY_12_00 - 1 + 2*DAY, true)?); + assert!(!duration.time_match(THURSDAY_12_00 - 1 + 2 * DAY, true)?); assert!(!duration.time_match(THURSDAY_12_00, true)?); assert!(!duration.time_match(THURSDAY_12_00 + DAY, true)?); - assert!(!duration.time_match(THURSDAY_12_00 + 2*DAY, true)?); + assert!(!duration.time_match(THURSDAY_12_00 + 2 * DAY, true)?); Ok(()) }