srtemplate/
helper.rs

1#[doc(hidden)]
2pub mod arg;
3pub mod serialize;
4
5#[cfg(test)]
6mod test {
7    use super::serialize::FromArgs;
8
9    #[test]
10    fn simple_parse_args() {
11        let args = vec!["abc".to_string(), "54".to_string(), "4.5".to_string()];
12
13        let a = <(String, u8)>::from_args(&args);
14
15        assert!(a.is_ok());
16    }
17
18    #[test]
19    fn bad_parse_args() {
20        let args = vec!["abc".to_string(), "2 75".to_string(), "4.5".to_string()];
21
22        let a = <(String, f32)>::from_args(&args);
23
24        assert!(a.is_err());
25    }
26
27    #[test]
28    fn incomplete_parse_args() {
29        let args = vec!["abc".to_string()];
30
31        let a = <(String, i32)>::from_args(&args);
32
33        println!("{a:?}");
34
35        assert!(a.is_err());
36    }
37
38    #[test]
39    fn complete_parse_args() {
40        let args = vec!["abc".to_string(), "54".to_string(), "4.5".to_string()];
41
42        let a = <(String, i32, f64)>::from_args(&args);
43
44        assert!(a.is_ok());
45
46        let (a, b, c) = a.unwrap();
47
48        assert_eq!(a, "abc".to_string());
49        assert_eq!(b, 54i32);
50        assert_eq!(c, 4.5f64);
51    }
52}