RosettaCodeData/Task/Reverse-a-string/Dart/reverse-a-string-2.dart

18 lines
632 B
Dart

import 'package:unittest/unittest.dart';
String reverse(String s) => new String.fromCharCodes(s.runes.toList().reversed);
main() {
group("Reverse a string -", () {
test("Strings with ASCII characters are reversed correctly.", () {
expect(reverse("hello, world"), equals("dlrow ,olleh"));
});
test("Strings with non-ASCII BMP characters are reversed correctly.", () {
expect(reverse("\u4F60\u4EEC\u597D"), equals("\u597D\u4EEC\u4F60"));
});
test("Strings with non-BMP characters are reversed correctly.", () {
expect(reverse("hello, \u{1F310}"), equals("\u{1F310} ,olleh"));
});
});
}