use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[cfg_attr(any(), pyo3::prelude::pyclass(from_py_object, eq, hash, frozen))]
#[serde(rename_all = "snake_case")]
pub enum ScheduleTime {
Clock {
hour: u8,
minute: u8,
},
Sunrise {
offset_minutes: i16,
},
Sunset {
offset_minutes: i16,
},
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn equal_values_hash_equally() {
use std::collections::HashSet;
let mut set = HashSet::new();
set.insert(ScheduleTime::Clock {
hour: 6,
minute: 30,
});
set.insert(ScheduleTime::Clock {
hour: 6,
minute: 30,
});
assert_eq!(set.len(), 1);
}
}