doga_reverse_string/
lib.rs1use unicode_segmentation::UnicodeSegmentation;
2
3pub fn reverse(bla: &str) -> String {
4 bla.graphemes(true).rev().collect()
5}
6
7#[cfg(test)]
8mod tests {
9 use super::*;
10
11 #[test]
12 fn it_works_for_korean() {
13 let result = reverse("안녕하세요");
14 assert_eq!(result, "요세하녕안");
15 }
16
17 #[test]
18 fn it_works_for_japanese() {
19 let result = reverse("こんにちは");
20 assert_eq!(result, "はちにんこ");
21 }
22
23 #[test]
24 fn it_works_for_mandarin() {
25 let result = reverse("你好");
26 assert_eq!(result, "好你");
27 }
28
29 #[test]
30 fn it_works_for_thai() {
31 let result = reverse("สวัสดีครับ");
32 assert_eq!(result, "บรัคดีสวัส");
33 }
34
35 #[test]
36 fn it_works_for_vietnamese() {
37 let result = reverse("xin chào");
38 assert_eq!(result, "oàhc nix");
39 }
40}