| 1099 | |
| 1100 | #[test] |
| 1101 | fn test_switch() { |
| 1102 | let mut collection = Agents::default(); |
| 1103 | |
| 1104 | let default_agent = Agent::default(); |
| 1105 | let dev_agent = Agent { |
| 1106 | name: "dev".to_string(), |
| 1107 | description: Some("Developer agent".to_string()), |
| 1108 | ..Default::default() |
| 1109 | }; |
| 1110 | |
| 1111 | collection.agents.insert("default".to_string(), default_agent); |
| 1112 | collection.agents.insert("dev".to_string(), dev_agent); |
| 1113 | collection.active_idx = "default".to_string(); |
| 1114 | |
| 1115 | // Test successful switch |
| 1116 | let result = collection.switch("dev"); |
| 1117 | assert!(result.is_ok()); |
| 1118 | assert_eq!(result.unwrap().name, "dev"); |
| 1119 | |
| 1120 | // Test switch to non-existent agent |
| 1121 | let result = collection.switch("nonexistent"); |
| 1122 | assert!(result.is_err()); |
| 1123 | assert_eq!(result.unwrap_err().to_string(), "No agent with name nonexistent found"); |
| 1124 | } |
| 1125 | |
| 1126 | #[test] |
| 1127 | fn test_validate_agent_name() { |