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]) +})