#[cfg(test)]
mod conversion {
use notify_rust::Urgency;
use std::convert::{TryFrom, TryInto};
#[test]
fn urgency_from_int() {
assert_eq!(Urgency::from(0), Urgency::Low);
assert_eq!(Urgency::from(1), Urgency::Normal);
assert_eq!(Urgency::from(2), Urgency::Critical);
assert_eq!(Urgency::from(900), Urgency::Critical);
assert_eq!(Urgency::from(u64::MAX), Urgency::Critical);
}
#[test]
fn urgency_from_option_int() {
assert_eq!(Urgency::from(Some(0)), Urgency::Low);
assert_eq!(Urgency::from(Some(1)), Urgency::Normal);
assert_eq!(Urgency::from(None), Urgency::Normal);
assert_eq!(Urgency::from(Some(2)), Urgency::Critical);
}
#[test]
fn str_into_urgency() {
let u0: Urgency = "low".try_into().unwrap();
assert_eq!(u0, Urgency::Low);
}
#[test]
fn urgency_from_str() {
assert_eq!(Urgency::try_from("low").ok(), Some(Urgency::Low));
assert_eq!(Urgency::try_from("medium").ok(), Some(Urgency::Normal));
assert_eq!(Urgency::try_from("Normal").ok(), Some(Urgency::Normal));
assert_eq!(Urgency::try_from("NoRmaL").ok(), Some(Urgency::Normal));
assert_eq!(Urgency::try_from("High").ok(), Some(Urgency::Critical));
assert_eq!(Urgency::try_from("Hi").ok(), Some(Urgency::Critical));
assert_eq!(Urgency::try_from("Critical").ok(), Some(Urgency::Critical));
}
}