#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
pub enum OutputMode {
#[default]
Live,
Buffered,
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
pub struct OutputSettings {
pub mode: OutputMode,
}
#[cfg(test)]
mod tests {
use crate::settings::output::{OutputMode, OutputSettings};
#[test]
fn output_mode_default_is_live() {
assert_eq!(OutputMode::default(), OutputMode::Live);
}
#[test]
fn output_mode_variants_are_distinct() {
assert_ne!(OutputMode::Live, OutputMode::Buffered);
}
#[test]
fn output_settings_default_is_live() {
assert_eq!(OutputSettings::default().mode, OutputMode::Live);
}
#[test]
fn output_settings_carry_chosen_mode() {
let os = OutputSettings {
mode: OutputMode::Buffered,
};
assert_eq!(os.mode, OutputMode::Buffered);
}
}