// Write a function `rev_str` that takes a `&str` as a parameter, and returns a string with its words reversed. use reverse_string::rev_str; #[allow(dead_code)] fn main() { println!("{}", rev_str("Hello, world!")); println!("{}", rev_str("Hello, my name is Roman")); println!("{}", rev_str("I have a nice car!")); println!("{}", rev_str("How old are You")); println!("{}", rev_str("ex: this is an example água")); } #[allow(dead_code)] fn test_reverse(input: &str, expected: &str) { assert_eq!(&rev_str(input), expected); } #[test] // testing just one word fn test_simple_word() { test_reverse("robot", "tobor"); test_reverse("Ramen", "nemaR"); test_reverse("I'm hungry!", "!yrgnuh m'I"); test_reverse("racecar", "racecar"); test_reverse("drawer", "reward"); test_reverse("子猫", "猫子"); test_reverse("", ""); } #[test] // testing two or more words fn test_more_than_one() { test_reverse("Hello, world!", "!dlrow ,olleH"); test_reverse("Hello, my name is Roman", "namoR si eman ym ,olleH"); test_reverse("I have a nice car!", "!rac ecin a evah I"); test_reverse("How old are You", "uoY era dlo woH"); test_reverse("ex: this is an example água", "augá elpmaxe na si siht :xe"); }