ai_agent/tools/powershell/
common_parameters.rs1use std::collections::HashSet;
14
15pub const COMMON_SWITCHES: &[&str] = &["-verbose", "-debug"];
17
18pub const COMMON_VALUE_PARAMS: &[&str] = &[
20 "-erroraction",
21 "-warningaction",
22 "-informationaction",
23 "-progressaction",
24 "-errorvariable",
25 "-warningvariable",
26 "-informationvariable",
27 "-outvariable",
28 "-outbuffer",
29 "-pipelinevariable",
30];
31
32pub fn common_parameters() -> HashSet<&'static str> {
34 let mut set = HashSet::new();
35 for s in COMMON_SWITCHES {
36 set.insert(*s);
37 }
38 for s in COMMON_VALUE_PARAMS {
39 set.insert(*s);
40 }
41 set
42}
43
44#[cfg(test)]
45mod tests {
46 use super::*;
47
48 #[test]
49 fn test_common_switches() {
50 assert!(COMMON_SWITCHES.contains(&"-verbose"));
51 assert!(COMMON_SWITCHES.contains(&"-debug"));
52 }
53
54 #[test]
55 fn test_common_value_params() {
56 assert!(COMMON_VALUE_PARAMS.contains(&"-erroraction"));
57 assert!(COMMON_VALUE_PARAMS.contains(&"-outvariable"));
58 }
59
60 #[test]
61 fn test_common_parameters() {
62 let params = common_parameters();
63 assert!(params.contains("-verbose"));
64 assert!(params.contains("-debug"));
65 assert!(params.contains("-erroraction"));
66 assert!(params.contains("-warningaction"));
67 assert!(params.contains("-outvariable"));
68 }
69
70 #[test]
71 fn test_common_parameters_count() {
72 let params = common_parameters();
73 assert_eq!(params.len(), 12);
75 }
76
77 #[test]
78 fn test_common_parameters_case_sensitive() {
79 let params = common_parameters();
80 assert!(params.contains("-verbose"));
81 assert!(!params.contains("-VERBOSE"));
82 }
83}