5 assert_eq!(name_key("0"), ("", 0, 1));
6 assert_eq!(name_key("123"), ("", 123, 0));
7 assert_eq!(name_key("Fruit"), ("Fruit", 0, 0));
8 assert_eq!(name_key("Fruit0"), ("Fruit", 0, 1));
9 assert_eq!(name_key("Fruit0000"), ("Fruit", 0, 4));
10 assert_eq!(name_key("Fruit01"), ("Fruit", 1, 1));
11 assert_eq!(name_key("Fruit10"), ("Fruit", 10, 0));
12 assert_eq!(name_key("Fruit123"), ("Fruit", 123, 0));
16 fn test_name_sorting() {
18 "Apple", "Banana", "Fruit", "Fruit0", "Fruit00", "Fruit1", "Fruit01", "Fruit2", "Fruit02",
19 "Fruit20", "Fruit30x", "Fruit100", "Pear",
21 let mut sorted = names.to_owned();
22 sorted.sort_by_key(|&s| name_key(s));
23 assert_eq!(names, sorted);