mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 08:16:50 +08:00

* chore: Switch to Node 20 + Vitest * chore: migrate to vitest mock functions * chore: code style (switch to prettier) * test: re-enable long-running test Seems the switch to Node 20 and Vitest has vastly improved the code's and / or the test's runtime! see #1193 * chore: code style * chore: fix failing tests * Updated Documentation in README.md * Update contribution guidelines to state usage of Prettier * fix: set prettier printWidth back to 80 * chore: apply updated code style automatically * fix: set prettier line endings to lf again * chore: apply updated code style automatically --------- Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
import {
|
|
ReverseStringIterative,
|
|
ReverseStringIterativeInplace
|
|
} from '../ReverseString'
|
|
|
|
describe('ReverseStringIterative', () => {
|
|
it('expects to reverse a simple string', () => {
|
|
expect(ReverseStringIterative('reverse')).toEqual('esrever')
|
|
expect(ReverseStringIterative('some')).toEqual('emos')
|
|
expect(ReverseStringIterative('string')).toEqual('gnirts')
|
|
expect(ReverseStringIterative('The Algorithms Javascript')).toEqual(
|
|
'tpircsavaJ smhtiroglA ehT'
|
|
)
|
|
})
|
|
|
|
it('expects to reverse a string with spaces in between', () => {
|
|
expect(ReverseStringIterative('reverse me')).toEqual('em esrever')
|
|
})
|
|
|
|
it('expects to reverse a simple string without capitalizing the first letter', () => {
|
|
expect(ReverseStringIterative('Javascript')).toEqual('tpircsavaJ')
|
|
})
|
|
|
|
it.each`
|
|
input
|
|
${123456}
|
|
${[1, 2, 3, 4, 5, 6]}
|
|
${{ test: 'test' }}
|
|
${null}
|
|
`(
|
|
'expects to throw a type error given a value that is $input',
|
|
({ input }) => {
|
|
expect(() => ReverseStringIterative(input)).toThrow(
|
|
'The given value is not a string'
|
|
)
|
|
}
|
|
)
|
|
|
|
it('expects to return a empty string with an empty string is given', () => {
|
|
expect(ReverseStringIterative('')).toEqual('')
|
|
})
|
|
})
|
|
|
|
describe('ReverseStringIterativeInplace', () => {
|
|
it.each([
|
|
['hello', 'olleh'],
|
|
['word', 'drow']
|
|
])('reverse of %s is %s', (value, expected) => {
|
|
expect(ReverseStringIterativeInplace(value)).toBe(expected)
|
|
})
|
|
})
|