#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct RuntimeContext {
pub tui_mode: bool,
pub daemon_mode: bool,
}
impl RuntimeContext {
#[must_use]
pub fn suppress_stderr(&self) -> bool {
self.tui_mode || self.daemon_mode
}
}
#[cfg(test)]
mod tests {
use super::RuntimeContext;
#[test]
fn suppress_stderr_daemon_only() {
let ctx = RuntimeContext {
tui_mode: false,
daemon_mode: true,
};
assert!(ctx.suppress_stderr());
}
#[test]
fn suppress_stderr_both_true() {
let ctx = RuntimeContext {
tui_mode: true,
daemon_mode: true,
};
assert!(ctx.suppress_stderr());
}
#[test]
fn suppress_stderr_default_is_false() {
assert!(!RuntimeContext::default().suppress_stderr());
}
}