Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 45 additions & 5 deletions src/arrayReverse.test.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,58 @@
'use strict';

describe(`Function 'arrayReverse':`, () => {
describe('arrayReverse', () => {
const arrayReverse = require('./arrayReverse');

it(`should be declared`, () => {
expect(arrayReverse).toBeInstanceOf(Function);
});

it(`should return an array`, () => {});
it(`should return an array`, () => {
expect(arrayReverse([])).toBeInstanceOf(Array);
});

it(`should return an empty string if original array consists of an empty string`, () => {
expect(arrayReverse([''])).toEqual(['']);
});

it(`should reverse letters in a single word`, () => {
expect(arrayReverse(['abc'])).toEqual(['cba']);
});

it(`should reverse letters in multiple words`, () => {
expect(arrayReverse(['abc', 'def'])).toEqual(['fed', 'cba']);
});

it(`should handle words of different lengths`, () => {
expect(arrayReverse(['a', 'bc', 'def'])).toEqual(['f', 'ed', 'cba']);
});

it(`should return an empty string
if original array consists of an empty string`, () => {
it(`should handle array with empty strings in between`, () => {
expect(arrayReverse(['a', '', 'bc'])).toEqual(['c', '', 'ba']);
});

it(`should handle array with all empty strings`, () => {
expect(arrayReverse(['', '', ''])).toEqual(['', '', '']);
});

it(`should handle single-character words`, () => {
expect(arrayReverse(['x', 'y', 'z'])).toEqual(['z', 'y', 'x']);
});

it(`should reverse letters correctly in a single word containing numbers or symbols`, () => {
expect(arrayReverse(['Hell0'])).toEqual(['0lleH']);
});

it(`should reverse letters correctly across multiple words of different lengths`, () => {
expect(arrayReverse(['Mate', 'Academy'])).toEqual(['ymed', 'acAetaM']);
});

// write more tests here
it(`should reverse letters correctly for a sentence with single-character words and punctuation`, () => {
expect(arrayReverse(['I', 'am', 'a', 'student!'])).toEqual([
'!',
'tn',
'e',
'dutsamaI',
]);
});
});
Comment on lines +3 to 58
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current tests only use lowercase letters. According to the task description, the input strings can also contain numbers, special symbols, and mixed-case letters. Please add test cases to cover these scenarios. A good starting point would be to add tests for the examples provided in the task description: ['Hell0'], ['Mate', 'Academy'], and ['I', 'am', 'a', 'student!'].

Loading