merge: Add alternative implementation for InsertionSort and relative test. Add additional algorithm description (#915)

Co-authored-by: Andrea Tota <tota@qi4m.com>
This commit is contained in:
Andrea Tota
2022-03-04 15:11:37 +01:00
committed by GitHub
parent 98c46b4d9e
commit 00f593662b
2 changed files with 65 additions and 5 deletions

View File

@@ -0,0 +1,19 @@
import { insertionSortAlternativeImplementation } from '../InsertionSort'
describe('insertionSortAlternativeImplementation', () => {
it('expects to work with empty array', () => {
expect(insertionSortAlternativeImplementation([])).toEqual([])
})
it('expects to return input array when array.length is less than 2', () => {
const input = [3]
expect(insertionSortAlternativeImplementation(input)).toEqual(input)
})
it('expects to return array sorted in ascending order', () => {
expect(insertionSortAlternativeImplementation([14, 11])).toEqual([11, 14])
expect(insertionSortAlternativeImplementation([21, 22, 23])).toEqual([21, 22, 23])
expect(insertionSortAlternativeImplementation([1, 3, 2, 3, 7, 2])).toEqual([1, 2, 2, 3, 3, 7])
expect(insertionSortAlternativeImplementation([1, 6, 4, 5, 9, 2])).toEqual([1, 2, 4, 5, 6, 9])
})
})