use super::*; #[test] fn test_name_key() { assert_eq!(name_key("0"), ("", 0, 1)); assert_eq!(name_key("123"), ("", 123, 0)); assert_eq!(name_key("Fruit"), ("Fruit", 0, 0)); assert_eq!(name_key("Fruit0"), ("Fruit", 0, 1)); assert_eq!(name_key("Fruit0000"), ("Fruit", 0, 4)); assert_eq!(name_key("Fruit01"), ("Fruit", 1, 1)); assert_eq!(name_key("Fruit10"), ("Fruit", 10, 0)); assert_eq!(name_key("Fruit123"), ("Fruit", 123, 0)); } #[test] fn test_name_sorting() { let names = ["Apple", "Banana", "Fruit", "Fruit0", "Fruit00", "Fruit1", "Fruit01", "Fruit2", "Fruit02", "Fruit20", "Fruit30x", "Fruit100", "Pear"]; let mut sorted = names.to_owned(); sorted.sort_by_key(|&s| name_key(s)); assert_eq!(names, sorted); }