aboutsummaryrefslogtreecommitdiff
path: root/reverse-string/tests
diff options
context:
space:
mode:
authorFederico I <git@federicoigne.com>2020-03-14 20:26:36 +0000
committerFederico Igne <git@federicoigne.com>2021-11-03 18:49:37 +0000
commitdede893978d55ec6ee0751808b44a0f647988110 (patch)
tree68008ea3f2ce9493ee03dbb9110879bb3fcd1f59 /reverse-string/tests
parentda0fec405edd592d9ae7c658cb80fdc652671c37 (diff)
downloadexercism-dede893978d55ec6ee0751808b44a0f647988110.tar.gz
exercism-dede893978d55ec6ee0751808b44a0f647988110.zip
[rust] Reverse String
Diffstat (limited to 'reverse-string/tests')
-rw-r--r--reverse-string/tests/reverse-string.rs62
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
8use reverse_string::*;
9
10/// Process a single test case for the property `reverse`
11fn process_reverse_case(input: &str, expected: &str) {
12 assert_eq!(&reverse(input), expected)
13}
14
15#[test]
16/// empty string
17fn test_an_empty_string() {
18 process_reverse_case("", "");
19}
20
21#[test]
22/// a word
23fn test_a_word() {
24 process_reverse_case("robot", "tobor");
25}
26
27#[test]
28/// a capitalized word
29fn test_a_capitalized_word() {
30 process_reverse_case("Ramen", "nemaR");
31}
32
33#[test]
34/// a sentence with punctuation
35fn test_a_sentence_with_punctuation() {
36 process_reverse_case("I'm hungry!", "!yrgnuh m'I");
37}
38
39#[test]
40/// a palindrome
41fn test_a_palindrome() {
42 process_reverse_case("racecar", "racecar");
43}
44
45#[test]
46/// an even-sized word
47fn test_an_even_sized_word() {
48 process_reverse_case("drawer", "reward");
49}
50
51#[test]
52/// wide characters
53fn test_wide_characters() {
54 process_reverse_case("子猫", "猫子");
55}
56
57#[test]
58#[cfg(feature = "grapheme")]
59/// grapheme clusters
60fn test_grapheme_clusters() {
61 process_reverse_case("uüu", "uüu");
62}