#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum HardMode {
#[default]
Soft,
Strict,
}
impl HardMode {
#[inline]
pub fn is_soft(self) -> bool {
matches!(self, Self::Soft)
}
#[inline]
pub fn is_strict(self) -> bool {
matches!(self, Self::Strict)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_hard_mode_default() {
assert_eq!(HardMode::default(), HardMode::Soft);
}
#[test]
fn test_hard_mode_checks() {
assert!(HardMode::Soft.is_soft());
assert!(!HardMode::Soft.is_strict());
assert!(!HardMode::Strict.is_soft());
assert!(HardMode::Strict.is_strict());
}
}