From dede893978d55ec6ee0751808b44a0f647988110 Mon Sep 17 00:00:00 2001 From: Federico I Date: Sat, 14 Mar 2020 20:26:36 +0000 Subject: [rust] Reverse String --- reverse-string/tests/reverse-string.rs | 62 ++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 reverse-string/tests/reverse-string.rs (limited to 'reverse-string/tests/reverse-string.rs') 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 @@ +//! Tests for reverse-string +//! +//! Generated by [script][script] using [canonical data][canonical-data] +//! +//! [script]: https://github.com/exercism/rust/blob/b829ce2/bin/init_exercise.py +//! [canonical-data]: https://raw.githubusercontent.com/exercism/problem-specifications/master/exercises/reverse-string/canonical_data.json + +use reverse_string::*; + +/// Process a single test case for the property `reverse` +fn process_reverse_case(input: &str, expected: &str) { + assert_eq!(&reverse(input), expected) +} + +#[test] +/// empty string +fn test_an_empty_string() { + process_reverse_case("", ""); +} + +#[test] +/// a word +fn test_a_word() { + process_reverse_case("robot", "tobor"); +} + +#[test] +/// a capitalized word +fn test_a_capitalized_word() { + process_reverse_case("Ramen", "nemaR"); +} + +#[test] +/// a sentence with punctuation +fn test_a_sentence_with_punctuation() { + process_reverse_case("I'm hungry!", "!yrgnuh m'I"); +} + +#[test] +/// a palindrome +fn test_a_palindrome() { + process_reverse_case("racecar", "racecar"); +} + +#[test] +/// an even-sized word +fn test_an_even_sized_word() { + process_reverse_case("drawer", "reward"); +} + +#[test] +/// wide characters +fn test_wide_characters() { + process_reverse_case("子猫", "猫子"); +} + +#[test] +#[cfg(feature = "grapheme")] +/// grapheme clusters +fn test_grapheme_clusters() { + process_reverse_case("uüu", "uüu"); +} -- cgit v1.2.3