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
48 changes: 45 additions & 3 deletions src/arrayReverse.test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
'use strict';
/* eslint-disable max-len */

describe(`Function 'arrayReverse':`, () => {
const arrayReverse = require('./arrayReverse');
Expand All @@ -8,13 +9,54 @@ describe(`Function 'arrayReverse':`, () => {
});

it(`should return an array`, () => {
const res = arrayReverse(['a']);

expect(res).toBeInstanceOf(Array);
});

it('should return an empty array if the original one is empty', () => {
const array = [];
const res = [];

expect(arrayReverse(array)).toEqual(res);
});

it(`should reverse an array
of the words consists of Latin letters,
numbers and special symbols`, () => {
const array1 = ['Mate', 'Academy'];
const res1 = ['ymed', 'acAetaM'];
const array2 = ['1,2,', '22!'];
const res2 = ['!22,', '2,1'];
const array3 = ['QWErty', '#$%~^'];
const res3 = ['^~%$#y', 'trEWQ'];
const array4 = ['Hell0'];
const res4 = ['0lleH'];

expect(arrayReverse(array1)).toEqual(res1);
expect(arrayReverse(array2)).toEqual(res2);
expect(arrayReverse(array3)).toEqual(res3);
expect(arrayReverse(array4)).toEqual(res4);
});

it(`should keep the length of the strings from the original array`, () => {
const array1 = ['1', '22', '333', '4444'];
const res1 = ['4', '44', '433', '3221'];
const array2 = ['I', 'am', 'a', 'student!'];
const res2 = ['!', 'tn', 'e', 'dutsamaI'];

expect(arrayReverse(array1)).toEqual(res1);
expect(arrayReverse(array2)).toEqual(res2);
});

it(`should return an empty string
if original array consists of an empty string`, () => {
expect(arrayReverse(['Mate', 'Academy'])).toEqual(['ymed', 'acAetaM']);
});
const array1 = ['', 'Mate', '', 'academy'];
const array2 = ['', '', ''];
const res1 = ['', 'ymed', '', 'acaetaM'];
const res2 = ['', '', ''];

// write more tests here
expect(arrayReverse(array1)).toEqual(res1);
expect(arrayReverse(array2)).toEqual(res2);
});
});