reverse_string.rs
1 use reverse_string::*; 2 3 #[test] 4 fn an_empty_string() { 5 let input = ""; 6 let output = reverse(input); 7 let expected = ""; 8 assert_eq!(output, expected); 9 } 10 11 #[test] 12 #[ignore] 13 fn a_word() { 14 let input = "robot"; 15 let output = reverse(input); 16 let expected = "tobor"; 17 assert_eq!(output, expected); 18 } 19 20 #[test] 21 #[ignore] 22 fn a_capitalized_word() { 23 let input = "Ramen"; 24 let output = reverse(input); 25 let expected = "nemaR"; 26 assert_eq!(output, expected); 27 } 28 29 #[test] 30 #[ignore] 31 fn a_sentence_with_punctuation() { 32 let input = "I'm hungry!"; 33 let output = reverse(input); 34 let expected = "!yrgnuh m'I"; 35 assert_eq!(output, expected); 36 } 37 38 #[test] 39 #[ignore] 40 fn a_palindrome() { 41 let input = "racecar"; 42 let output = reverse(input); 43 let expected = "racecar"; 44 assert_eq!(output, expected); 45 } 46 47 #[test] 48 #[ignore] 49 fn an_even_sized_word() { 50 let input = "drawer"; 51 let output = reverse(input); 52 let expected = "reward"; 53 assert_eq!(output, expected); 54 } 55 56 #[test] 57 #[ignore] 58 fn wide_characters() { 59 let input = "子猫"; 60 let output = reverse(input); 61 let expected = "猫子"; 62 assert_eq!(output, expected); 63 } 64 65 #[test] 66 #[ignore] 67 #[cfg(feature = "grapheme")] 68 fn grapheme_cluster_with_pre_combined_form() { 69 let input = "Würstchenstand"; 70 let output = reverse(input); 71 let expected = "dnatsnehctsrüW"; 72 assert_eq!(output, expected); 73 } 74 75 #[test] 76 #[ignore] 77 #[cfg(feature = "grapheme")] 78 fn grapheme_clusters() { 79 let input = "ผู้เขียนโปรแกรม"; 80 let output = reverse(input); 81 let expected = "มรกแรปโนยขีเผู้"; 82 assert_eq!(output, expected); 83 }