#[derive(Debug)]
pub struct SimulationConfig {
pub n_scenarios: u32,
pub io_channel_capacity: usize,
}
#[cfg(test)]
mod tests {
use super::SimulationConfig;
#[test]
fn simulation_config_construction() {
let config = SimulationConfig {
n_scenarios: 2000,
io_channel_capacity: 64,
};
assert_eq!(config.n_scenarios, 2000);
assert_eq!(config.io_channel_capacity, 64);
}
#[test]
fn simulation_config_arbitrary_values() {
let config = SimulationConfig {
n_scenarios: 1,
io_channel_capacity: 1,
};
assert_eq!(config.n_scenarios, 1);
assert_eq!(config.io_channel_capacity, 1);
}
#[test]
fn simulation_config_debug_non_empty() {
let config = SimulationConfig {
n_scenarios: 100,
io_channel_capacity: 16,
};
let debug = format!("{config:?}");
assert!(!debug.is_empty());
assert!(
debug.contains("n_scenarios"),
"debug must contain field name: {debug}"
);
assert!(
debug.contains("io_channel_capacity"),
"debug must contain field name: {debug}"
);
}
}