#[derive(Debug, Clone, PartialEq, Eq)]
pub struct BuiltinScenario {
pub name: String,
pub category: String,
pub signal_type: String,
pub description: String,
pub source_path: std::path::PathBuf,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn builtin_scenario_is_send_and_sync() {
fn assert_send_sync<T: Send + Sync>() {}
assert_send_sync::<BuiltinScenario>();
}
#[test]
fn builtin_scenario_clone_produces_equal_value() {
let scenario = BuiltinScenario {
name: "cpu-spike".to_string(),
category: "infrastructure".to_string(),
signal_type: "metrics".to_string(),
description: "Test scenario".to_string(),
source_path: std::path::PathBuf::from("/tmp/cpu-spike.yaml"),
};
let cloned = scenario.clone();
assert_eq!(scenario, cloned);
}
#[test]
fn builtin_scenario_debug_output_is_non_empty() {
let scenario = BuiltinScenario {
name: "test".to_string(),
category: "test".to_string(),
signal_type: "metrics".to_string(),
description: "test".to_string(),
source_path: std::path::PathBuf::from("/tmp/test.yaml"),
};
let debug = format!("{:?}", scenario);
assert!(!debug.is_empty());
}
}