import { sum, avg, max, min } from './aggregation' describe('aggregation', () => { describe('sum', () => { it('sum numeric values only', () => { const values = [1, 2, '5', 'a'] //@ts-expect-error: incorrect types for test purpose expect(sum(values)).toBe(3) }) }) describe('avg', () => { it('avg numeric values only', () => { const values = [1, 2, '8', 3, 'a', null, undefined] //@ts-expect-error: incorrect types for test purpose expect(avg(values)).toBe(2) }) }) describe('max', () => { it('max numeric value', () => { const values = [1, 2, 3, null, undefined] //@ts-expect-error: incorrect types for test purpose expect(max(values)).toBe(3) }) it('max date value', () => { const values = [new Date('2024-01-01'), new Date('2024-01-04')] expect(max(values)).toEqual(new Date('2024-01-04')) }) }) describe('min', () => { it('min numeric value', () => { const values = [5, 2, 3, null, undefined] //@ts-expect-error: incorrect types for test purpose expect(min(values)).toBe(2) }) it('max date value', () => { const values = [ new Date('2024-01-01'), new Date('2024-01-04'), undefined, null, ] //@ts-expect-error: incorrect types for test purpose expect(min(values)).toEqual(new Date('2024-01-01')) }) }) })