From 35035f7afa34f3ee7bf3924881a7a6d6244a1a75 Mon Sep 17 00:00:00 2001 From: Ankush263 <86042508+Ankush263@users.noreply.github.com> Date: Sun, 3 Apr 2022 16:28:36 +0530 Subject: [PATCH] merge: Add test case and fix TimSort algo (#977) --- Sorts/TimSort.js | 1 + Sorts/test/TimSort.test.js | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 Sorts/test/TimSort.test.js diff --git a/Sorts/TimSort.js b/Sorts/TimSort.js index aaeef415f..b63d67a7e 100644 --- a/Sorts/TimSort.js +++ b/Sorts/TimSort.js @@ -25,6 +25,7 @@ const Timsort = (array) => { Merge(array, left, mid, right) } } + return array } /** diff --git a/Sorts/test/TimSort.test.js b/Sorts/test/TimSort.test.js new file mode 100644 index 000000000..e134755f5 --- /dev/null +++ b/Sorts/test/TimSort.test.js @@ -0,0 +1,25 @@ +import { Timsort } from '../TimSort' + +test('The Timsort of the array [5, 4, 3, 2, 1] is [1, 2, 3, 4, 5]', () => { + const arr = [5, 4, 3, 2, 1] + const res = Timsort(arr) + expect(res).toEqual([1, 2, 3, 4, 5]) +}) + +test('The Timsort of the array [] is []', () => { + const arr = [] + const res = Timsort(arr) + expect(res).toEqual([]) +}) + +test('The Timsort of the array [-5, -4, -3, -2, -1] is [-5, -4, -3, -2, -1]', () => { + const arr = [-5, -4, -3, -2, -1] + const res = Timsort(arr) + expect(res).toEqual([-5, -4, -3, -2, -1]) +}) + +test('The Timsort of the array [9, 0, -5, -11, 3] is [-11, -5, 0, 3, 9]', () => { + const arr = [9, 0, -5, -11, 3] + const res = Timsort(arr) + expect(res).toEqual([-11, -5, 0, 3, 9]) +})