UNPKG

rpg-calendar

Version:

Low level library for working with RPG/Fantasy dates

77 lines 5.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const daysInYear_1 = require("./daysInYear"); const leapYear_1 = require("./leapYear"); const isLeapYear4Years = (0, leapYear_1.isLeapYearBuilder)(4, true); describe('Days in year', () => { test('Months with no leap days (leap-year every 4 years)', () => { const months = [ { name: 'Test Month 1', daysInMonth: 9, monthInYear: 1 }, { name: 'Test Month 2', daysInMonth: 11, monthInYear: 2 } ]; const getDaysInYear = (0, daysInYear_1.getDaysInYearBuilder)(months, isLeapYear4Years); expect(getDaysInYear(2)).toBe(20); expect(getDaysInYear(30)).toBe(20); expect(getDaysInYear(2000000)).toBe(20); }); test('Months with extra days (leap-year every 4 years)', () => { const months = [ { name: 'Test Month 1', daysInMonth: 9, extraDays: [ { name: 'an extra day' }, { name: 'another extra day' } ], monthInYear: 2 }, { name: 'Test Month 2', daysInMonth: 11, monthInYear: 2 } ]; const getDaysInYear = (0, daysInYear_1.getDaysInYearBuilder)(months, isLeapYear4Years); expect(getDaysInYear(2)).toBe(22); expect(getDaysInYear(30)).toBe(22); expect(getDaysInYear(2000000)).toBe(22); }); test('Months with one leap day (leap-year every 4 years)', () => { const months = [ { name: 'Test Month 1', daysInMonth: 9, extraDays: [ { name: 'A leap day!', onlyInLeapYear: true } ], monthInYear: 1 }, { name: 'Test Month 2', daysInMonth: 11, monthInYear: 2 } ]; const getDaysInYear = (0, daysInYear_1.getDaysInYearBuilder)(months, isLeapYear4Years); expect(getDaysInYear(2)).toBe(20); expect(getDaysInYear(30)).toBe(20); expect(getDaysInYear(4)).toBe(21); expect(getDaysInYear(2000000)).toBe(21); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5c0luWWVhci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9kYXlzSW5ZZWFyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2Q0FBb0Q7QUFFcEQseUNBQStDO0FBRS9DLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSw0QkFBaUIsRUFBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFcEQsUUFBUSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUU7SUFDNUIsSUFBSSxDQUFDLG9EQUFvRCxFQUFFLEdBQUcsRUFBRTtRQUM5RCxNQUFNLE1BQU0sR0FBdUI7WUFDakM7Z0JBQ0UsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFdBQVcsRUFBRSxDQUFDO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7YUFDZjtTQUNGLENBQUM7UUFDRixNQUFNLGFBQWEsR0FBRyxJQUFBLGlDQUFvQixFQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtRQUM1RCxNQUFNLE1BQU0sR0FBdUI7WUFDakM7Z0JBQ0UsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxJQUFJLEVBQUUsY0FBYztxQkFDckI7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLG1CQUFtQjtxQkFDMUI7aUJBQ0Y7Z0JBQ0QsV0FBVyxFQUFFLENBQUM7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxjQUFjO2dCQUNwQixXQUFXLEVBQUUsRUFBRTtnQkFDZixXQUFXLEVBQUUsQ0FBQzthQUNmO1NBQ0YsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLElBQUEsaUNBQW9CLEVBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFFckUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsb0RBQW9ELEVBQUUsR0FBRyxFQUFFO1FBQzlELE1BQU0sTUFBTSxHQUF1QjtZQUNqQztnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsU0FBUyxFQUFFO29CQUNUO3dCQUNFLElBQUksRUFBRSxhQUFhO3dCQUNuQixjQUFjLEVBQUUsSUFBSTtxQkFDckI7aUJBQ0Y7Z0JBQ0QsV0FBVyxFQUFFLENBQUM7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxjQUFjO2dCQUNwQixXQUFXLEVBQUUsRUFBRTtnQkFDZixXQUFXLEVBQUUsQ0FBQzthQUNmO1NBQ0YsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLElBQUEsaUNBQW9CLEVBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFFckUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=