#![cfg_attr(coverage_nightly, coverage(off))]
#[cfg(feature = "viz")]
pub mod terminal;
#[cfg(feature = "viz")]
pub use terminal::{NodeShape, RenderConfig, TerminalTheme, Visualizable};
#[cfg(not(feature = "viz"))]
pub mod stub {
#[derive(Debug, Clone, Default)]
pub struct RenderConfig;
#[derive(Debug, Clone, Copy, Default)]
pub enum TerminalTheme {
#[default]
Default,
}
#[derive(Debug, Clone, Copy, Default)]
pub enum NodeShape {
#[default]
Circle,
}
}
#[cfg(not(feature = "viz"))]
pub use stub::*;
#[cfg_attr(coverage_nightly, coverage(off))]
#[cfg(test)]
mod tests {
#[cfg(not(feature = "viz"))]
mod stub_tests {
use crate::viz::stub::*;
#[test]
fn test_render_config_default() {
let config = RenderConfig::default();
let _ = config;
}
#[test]
fn test_terminal_theme_default() {
let theme = TerminalTheme::default();
assert!(matches!(theme, TerminalTheme::Default));
}
#[test]
fn test_node_shape_default() {
let shape = NodeShape::default();
assert!(matches!(shape, NodeShape::Circle));
}
#[test]
fn test_render_config_debug() {
let config = RenderConfig::default();
let debug_str = format!("{:?}", config);
assert!(debug_str.contains("RenderConfig"));
}
#[test]
fn test_terminal_theme_debug() {
let theme = TerminalTheme::default();
let debug_str = format!("{:?}", theme);
assert!(debug_str.contains("Default"));
}
#[test]
fn test_node_shape_debug() {
let shape = NodeShape::default();
let debug_str = format!("{:?}", shape);
assert!(debug_str.contains("Circle"));
}
#[test]
fn test_render_config_clone() {
let config = RenderConfig::default();
let cloned = config.clone();
let _ = cloned;
}
#[test]
fn test_terminal_theme_clone() {
let theme = TerminalTheme::default();
let cloned = theme.clone();
assert!(matches!(cloned, TerminalTheme::Default));
}
#[test]
fn test_node_shape_clone() {
let shape = NodeShape::default();
let cloned = shape.clone();
assert!(matches!(cloned, NodeShape::Circle));
}
#[test]
fn test_terminal_theme_copy() {
let theme = TerminalTheme::default();
let copied: TerminalTheme = theme;
assert!(matches!(copied, TerminalTheme::Default));
}
#[test]
fn test_node_shape_copy() {
let shape = NodeShape::default();
let copied: NodeShape = shape;
assert!(matches!(copied, NodeShape::Circle));
}
}
}