diff options
Diffstat (limited to 'reverse-string/tests')
| -rw-r--r-- | reverse-string/tests/reverse-string.rs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/reverse-string/tests/reverse-string.rs b/reverse-string/tests/reverse-string.rs new file mode 100644 index 0000000..9b17bb0 --- /dev/null +++ b/reverse-string/tests/reverse-string.rs | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | //! Tests for reverse-string | ||
| 2 | //! | ||
| 3 | //! Generated by [script][script] using [canonical data][canonical-data] | ||
| 4 | //! | ||
| 5 | //! [script]: https://github.com/exercism/rust/blob/b829ce2/bin/init_exercise.py | ||
| 6 | //! [canonical-data]: https://raw.githubusercontent.com/exercism/problem-specifications/master/exercises/reverse-string/canonical_data.json | ||
| 7 | |||
| 8 | use reverse_string::*; | ||
| 9 | |||
| 10 | /// Process a single test case for the property `reverse` | ||
| 11 | fn process_reverse_case(input: &str, expected: &str) { | ||
| 12 | assert_eq!(&reverse(input), expected) | ||
| 13 | } | ||
| 14 | |||
| 15 | #[test] | ||
| 16 | /// empty string | ||
| 17 | fn test_an_empty_string() { | ||
| 18 | process_reverse_case("", ""); | ||
| 19 | } | ||
| 20 | |||
| 21 | #[test] | ||
| 22 | /// a word | ||
| 23 | fn test_a_word() { | ||
| 24 | process_reverse_case("robot", "tobor"); | ||
| 25 | } | ||
| 26 | |||
| 27 | #[test] | ||
| 28 | /// a capitalized word | ||
| 29 | fn test_a_capitalized_word() { | ||
| 30 | process_reverse_case("Ramen", "nemaR"); | ||
| 31 | } | ||
| 32 | |||
| 33 | #[test] | ||
| 34 | /// a sentence with punctuation | ||
| 35 | fn test_a_sentence_with_punctuation() { | ||
| 36 | process_reverse_case("I'm hungry!", "!yrgnuh m'I"); | ||
| 37 | } | ||
| 38 | |||
| 39 | #[test] | ||
| 40 | /// a palindrome | ||
| 41 | fn test_a_palindrome() { | ||
| 42 | process_reverse_case("racecar", "racecar"); | ||
| 43 | } | ||
| 44 | |||
| 45 | #[test] | ||
| 46 | /// an even-sized word | ||
| 47 | fn test_an_even_sized_word() { | ||
| 48 | process_reverse_case("drawer", "reward"); | ||
| 49 | } | ||
| 50 | |||
| 51 | #[test] | ||
| 52 | /// wide characters | ||
| 53 | fn test_wide_characters() { | ||
| 54 | process_reverse_case("子猫", "猫子"); | ||
| 55 | } | ||
| 56 | |||
| 57 | #[test] | ||
| 58 | #[cfg(feature = "grapheme")] | ||
| 59 | /// grapheme clusters | ||
| 60 | fn test_grapheme_clusters() { | ||
| 61 | process_reverse_case("uüu", "uüu"); | ||
| 62 | } | ||
