1 use super::*;
2
3 #[test]
test_try_from_invalid_version()4 fn test_try_from_invalid_version() {
5 assert!("".parse::<Version>().is_err());
6 assert!("hello".parse::<Version>().is_err());
7 assert!("1.32.hi".parse::<Version>().is_err());
8 assert!("1.32..1".parse::<Version>().is_err());
9 assert!("1.32".parse::<Version>().is_err());
10 assert!("1.32.0.1".parse::<Version>().is_err());
11 }
12
13 #[test]
test_try_from_single()14 fn test_try_from_single() {
15 assert_eq!("1.32.0".parse(), Ok(Version::Explicit { parts: [1, 32, 0] }));
16 assert_eq!("1.0.0".parse(), Ok(Version::Explicit { parts: [1, 0, 0] }));
17 }
18
19 #[test]
test_compare()20 fn test_compare() {
21 let v_1_0_0 = "1.0.0".parse::<Version>().unwrap();
22 let v_1_32_0 = "1.32.0".parse::<Version>().unwrap();
23 let v_1_32_1 = "1.32.1".parse::<Version>().unwrap();
24 assert!(v_1_0_0 < v_1_32_1);
25 assert!(v_1_0_0 < v_1_32_0);
26 assert!(v_1_32_0 < v_1_32_1);
27 }
28
29 #[test]
test_to_string()30 fn test_to_string() {
31 let v_1_0_0 = "1.0.0".parse::<Version>().unwrap();
32 let v_1_32_1 = "1.32.1".parse::<Version>().unwrap();
33
34 assert_eq!(v_1_0_0.to_string(), "1.0.0");
35 assert_eq!(v_1_32_1.to_string(), "1.32.1");
36 assert_eq!(format!("{:<8}", v_1_32_1), "1.32.1 ");
37 assert_eq!(format!("{:>8}", v_1_32_1), " 1.32.1");
38 }
39