mockforge_intelligence/intelligent_behavior/
config.rs1pub use mockforge_foundation::intelligent_behavior::{
6 config::{
7 BehaviorModelConfig, IntelligentBehaviorConfig, PerformanceConfig, PersonasConfig,
8 VectorStoreConfig,
9 },
10 Persona,
11};
12
13#[cfg(test)]
14mod tests {
15 use super::*;
16 use std::collections::HashMap;
17
18 #[test]
19 fn test_config_defaults() {
20 let config = IntelligentBehaviorConfig::default();
21 assert!(!config.enabled);
22 }
23
24 #[test]
25 fn test_persona_numeric_trait_range() {
26 let persona = Persona {
27 name: "test".to_string(),
28 traits: {
29 let mut m = HashMap::new();
30 m.insert("count".to_string(), "10-20".to_string());
31 m
32 },
33 };
34 assert_eq!(persona.get_numeric_trait("count"), Some(15));
35 }
36
37 #[test]
38 fn test_persona_numeric_trait_single() {
39 let persona = Persona {
40 name: "test".to_string(),
41 traits: {
42 let mut m = HashMap::new();
43 m.insert("count".to_string(), "42".to_string());
44 m
45 },
46 };
47 assert_eq!(persona.get_numeric_trait("count"), Some(42));
48 }
49
50 #[test]
51 fn test_personas_config_active() {
52 let personas = PersonasConfig {
53 personas: vec![Persona {
54 name: "default".to_string(),
55 traits: HashMap::new(),
56 }],
57 active_persona: Some("default".to_string()),
58 };
59 assert!(personas.get_active_persona().is_some());
60 }
61}