rpg-calendar
Version:
Low level library for working with RPG/Fantasy dates
77 lines • 5.36 kB
JavaScript
;
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=