diff --git a/src/tests/transformations/reverseText.test.ts b/src/tests/transformations/reverseText.test.ts new file mode 100644 index 0000000..4a85f7f --- /dev/null +++ b/src/tests/transformations/reverseText.test.ts @@ -0,0 +1,18 @@ +import test from 'node:test'; +import { reverseText } from '../../transformations/reverseText'; + +test('reverseText() should reverse the string correctly', () => { + expect(reverseText('Hello World')).toBe('dlroW olleH'); + expect(reverseText('Stringzy')).toBe('yzgnirtS'); + expect(reverseText('')).toBe(''); +}); + +function expect(actual: string) { + return { + toBe(expected: string) { + if (actual !== expected) { + throw new Error(`Expected '${expected}' but got '${actual}'`); + } + }, + }; +} diff --git a/src/transformations/reverseText.ts b/src/transformations/reverseText.ts new file mode 100644 index 0000000..30939d8 --- /dev/null +++ b/src/transformations/reverseText.ts @@ -0,0 +1,9 @@ +/** + * Reverses the given string character by character + * @param str Input string + * @returns Reversed string + */ +export function reverseText(str: string): string { + if (!str) return ''; + return str.split('').reverse().join(''); +}