UNPKG

@technobuddha/library

Version:
101 lines (96 loc) 5.64 kB
import { month } from './date.ts'; import { isLeapYear } from './is-leap-year.ts'; describe('isLeapYear', () => { test('should compute test dates', () => { expect(isLeapYear(new Date('1 Jan 2000'))).toBeTrue(); expect(isLeapYear(new Date('1 Jan 2001'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2002'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2003'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2004'))).toBeTrue(); expect(isLeapYear(new Date('1 Jan 2005'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2006'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2007'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2008'))).toBeTrue(); expect(isLeapYear(new Date('1 Jan 2009'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2010'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2011'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2012'))).toBeTrue(); expect(isLeapYear(new Date('1 Jan 2013'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2014'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2015'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2016'))).toBeTrue(); expect(isLeapYear(new Date('1 Jan 2017'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2018'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2019'))).toBeFalse(); expect(isLeapYear(new Date('1 Jan 2020'))).toBeTrue(); }); test('should compute test numbers', () => { expect(isLeapYear(2000)).toBeTrue(); expect(isLeapYear(2001)).toBeFalse(); expect(isLeapYear(2002)).toBeFalse(); expect(isLeapYear(2003)).toBeFalse(); expect(isLeapYear(2004)).toBeTrue(); expect(isLeapYear(2005)).toBeFalse(); expect(isLeapYear(2006)).toBeFalse(); expect(isLeapYear(2007)).toBeFalse(); expect(isLeapYear(2008)).toBeTrue(); expect(isLeapYear(2009)).toBeFalse(); expect(isLeapYear(2010)).toBeFalse(); expect(isLeapYear(2011)).toBeFalse(); expect(isLeapYear(2012)).toBeTrue(); expect(isLeapYear(2013)).toBeFalse(); expect(isLeapYear(2014)).toBeFalse(); expect(isLeapYear(2015)).toBeFalse(); expect(isLeapYear(2016)).toBeTrue(); expect(isLeapYear(2017)).toBeFalse(); expect(isLeapYear(2018)).toBeFalse(); expect(isLeapYear(2019)).toBeFalse(); expect(isLeapYear(2020)).toBeTrue(); }); test('should compute test UTC dates', () => { expect(isLeapYear(new Date(Date.UTC(2000, month.january, 1)), { utc: true })).toBeTrue(); expect(isLeapYear(new Date(Date.UTC(2001, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2002, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2003, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2004, month.january, 1)), { utc: true })).toBeTrue(); expect(isLeapYear(new Date(Date.UTC(2005, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2006, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2007, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2008, month.january, 1)), { utc: true })).toBeTrue(); expect(isLeapYear(new Date(Date.UTC(2009, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2010, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2011, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2012, month.january, 1)), { utc: true })).toBeTrue(); expect(isLeapYear(new Date(Date.UTC(2013, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2014, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2015, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2016, month.january, 1)), { utc: true })).toBeTrue(); expect(isLeapYear(new Date(Date.UTC(2017, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2018, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2019, month.january, 1)), { utc: true })).toBeFalse(); expect(isLeapYear(new Date(Date.UTC(2020, month.january, 1)), { utc: true })).toBeTrue(); }); test('should compute test UTC numbers', () => { expect(isLeapYear(2000, { utc: true })).toBeTrue(); expect(isLeapYear(2001, { utc: true })).toBeFalse(); expect(isLeapYear(2002, { utc: true })).toBeFalse(); expect(isLeapYear(2003, { utc: true })).toBeFalse(); expect(isLeapYear(2004, { utc: true })).toBeTrue(); expect(isLeapYear(2005, { utc: true })).toBeFalse(); expect(isLeapYear(2006, { utc: true })).toBeFalse(); expect(isLeapYear(2007, { utc: true })).toBeFalse(); expect(isLeapYear(2008, { utc: true })).toBeTrue(); expect(isLeapYear(2009, { utc: true })).toBeFalse(); expect(isLeapYear(2010, { utc: true })).toBeFalse(); expect(isLeapYear(2011, { utc: true })).toBeFalse(); expect(isLeapYear(2012, { utc: true })).toBeTrue(); expect(isLeapYear(2013, { utc: true })).toBeFalse(); expect(isLeapYear(2014, { utc: true })).toBeFalse(); expect(isLeapYear(2015, { utc: true })).toBeFalse(); expect(isLeapYear(2016, { utc: true })).toBeTrue(); expect(isLeapYear(2017, { utc: true })).toBeFalse(); expect(isLeapYear(2018, { utc: true })).toBeFalse(); expect(isLeapYear(2019, { utc: true })).toBeFalse(); expect(isLeapYear(2020, { utc: true })).toBeTrue(); }); });