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}