fix: properly floor the partial results (#1629)

This commit is contained in:
Piotr Idzik
2024-03-04 23:06:50 +01:00
committed by GitHub
parent 2fe0dfde23
commit f13eec1bbb
2 changed files with 48 additions and 36 deletions

View File

@@ -1,21 +1,36 @@
import { DateDayDifference } from '../DateDayDifference'
test('The difference between 17/08/2002 & 10/10/2020 is 6630', () => {
const res = DateDayDifference('17/08/2002', '10/10/2020')
expect(res).toBe(6630)
})
describe('DateDayDifference', () => {
it.each([
['17/08/2002', '10/10/2020', 6629],
['18/02/2001', '16/03/2022', 7696],
['11/11/2011', '12/12/2012', 397],
['01/01/2001', '16/03/2011', 3726],
['04/03/2024', '04/03/2024', 0],
['03/03/2024', '04/03/2024', 1],
['02/03/2024', '04/03/2024', 2],
['01/03/2024', '04/03/2024', 3],
['29/02/2024', '04/03/2024', 4],
['04/03/2024', '04/03/2025', 365],
['04/03/2023', '04/03/2024', 366]
])(
'The difference between %s and %s is %i',
(firstDate, secondDate, expected) => {
expect(DateDayDifference(firstDate, secondDate)).toBe(expected)
expect(DateDayDifference(secondDate, firstDate)).toBe(expected)
}
)
test('The difference between 18/02/2001 & 16/03/2022 is 7696', () => {
const res = DateDayDifference('18/02/2001', '16/03/2022')
expect(res).toBe(7696)
})
it('should throw when any input is not a string', () => {
expect(() => DateDayDifference(10102024, '11/10/2024')).toThrowError()
expect(() => DateDayDifference('11/10/2024', 10102024)).toThrowError()
})
test('The difference between 11/11/2011 & 12/12/2012 is 398', () => {
const res = DateDayDifference('11/11/2011', '12/12/2012')
expect(res).toBe(398)
})
test('The difference between 01/01/2001 & 16/03/2011 is 3727', () => {
const res = DateDayDifference('01/01/2001', '16/03/2011')
expect(res).toBe(3727)
it.each(['32/01/2000', '00/01/2000', '15/00/2000', '15/13/2000'])(
'should throw when input is not a correct date %s',
(wrongDate) => {
expect(() => DateDayDifference(wrongDate, '04/03/2024')).toThrowError()
expect(() => DateDayDifference('04/03/2024', wrongDate)).toThrowError()
}
)
})