import { sortByDateAscending, sortByNumberAscending, sortByStringAscending } from './sorting.service'; describe('SortingService', () => { it('should sort correctly by number', () => { const items = [7, 3, 2, 6, 4, 8, 0]; sortByNumberAscending(items, x => x); expect(items).toEqual([0, 2, 3, 4, 6, 7, 8]); }); it('should sort strings by length correctly', () => { const items = ['aaaaa', 'a', 'aaa']; sortByNumberAscending(items, x => x.length); expect(items).toEqual(['a', 'aaa', 'aaaaa']); }); it('should sort strings alphanumerically', () => { const items = ['biz', 'bar', 'foo']; sortByStringAscending(items, x => x); expect(items).toEqual(['bar', 'biz', 'foo']); }); it('should sort dates correctly', () => { const items = [ new Date(2020, 2, 10, 13, 30), new Date(2020, 2, 10, 12, 30), new Date(2019, 4, 4), new Date(2020, 2, 11, 13, 30), ]; sortByDateAscending(items, x => x); expect(items).toEqual([ new Date(2019, 4, 4), new Date(2020, 2, 10, 12, 30), new Date(2020, 2, 10, 13, 30), new Date(2020, 2, 11, 13, 30), ]); }); });