rpg-calendar
Version:
Low level library for working with RPG/Fantasy dates
87 lines • 5.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const leapYear_1 = require("./leapYear");
const daysInMonth_1 = require("./daysInMonth");
const isLeapYear4Years = (0, leapYear_1.isLeapYearBuilder)(4, true);
describe('Days in month', () => {
test('Simple days in month', () => {
const months = [
{
monthInYear: 1,
name: 'Test Month 1',
daysInMonth: 9
},
{
monthInYear: 2,
name: 'Test Month 2',
daysInMonth: 11
}
];
const getDaysInMonth = (0, daysInMonth_1.getDaysInMonthBuilder)(months, isLeapYear4Years);
expect(getDaysInMonth(1, 1999)).toBe(9);
expect(getDaysInMonth(2, 1999)).toBe(11);
});
test('Months with extra days', () => {
const months = [
{
monthInYear: 1,
name: 'Test Month 1',
daysInMonth: 9,
extraDays: [
{
name: 'extra 1'
},
{
name: 'extra 2'
}
]
},
{
monthInYear: 2,
name: 'Test Month 2',
daysInMonth: 11,
extraDays: [
{
name: 'another extra day'
}
]
}
];
const getDaysInMonth = (0, daysInMonth_1.getDaysInMonthBuilder)(months, isLeapYear4Years);
expect(getDaysInMonth(1, 1999)).toBe(11);
expect(getDaysInMonth(2, 1999)).toBe(12);
});
test('Months with extra days and leap day', () => {
const months = [
{
monthInYear: 1,
name: 'Test Month 1',
daysInMonth: 9,
extraDays: [
{
name: 'extra 1'
},
{
name: 'leap day',
onlyInLeapYear: true
}
]
},
{
monthInYear: 2,
name: 'Test Month 2',
daysInMonth: 11,
extraDays: [
{
name: 'another extra day'
}
]
}
];
const getDaysInMonth = (0, daysInMonth_1.getDaysInMonthBuilder)(months, isLeapYear4Years);
expect(getDaysInMonth(1, 3)).toBe(10);
expect(getDaysInMonth(1, 4)).toBe(11);
expect(getDaysInMonth(2, 1999)).toBe(12);
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5c0luTW9udGgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZGF5c0luTW9udGgudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUErQztBQUUvQywrQ0FBc0Q7QUFFdEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDRCQUFpQixFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUVwRCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sTUFBTSxHQUF1QjtZQUNqQztnQkFDRSxXQUFXLEVBQUUsQ0FBQztnQkFDZCxJQUFJLEVBQUUsY0FBYztnQkFDcEIsV0FBVyxFQUFFLENBQUM7YUFDZjtZQUNEO2dCQUNFLFdBQVcsRUFBRSxDQUFDO2dCQUNkLElBQUksRUFBRSxjQUFjO2dCQUNwQixXQUFXLEVBQUUsRUFBRTthQUNoQjtTQUNGLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFBLG1DQUFxQixFQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXZFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUNsQyxNQUFNLE1BQU0sR0FBdUI7WUFDakM7Z0JBQ0UsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxJQUFJLEVBQUUsU0FBUztxQkFDaEI7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxXQUFXLEVBQUUsQ0FBQztnQkFDZCxJQUFJLEVBQUUsY0FBYztnQkFDcEIsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsU0FBUyxFQUFFO29CQUNUO3dCQUNFLElBQUksRUFBRSxtQkFBbUI7cUJBQzFCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsTUFBTSxjQUFjLEdBQUcsSUFBQSxtQ0FBcUIsRUFBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUV2RSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7UUFDL0MsTUFBTSxNQUFNLEdBQXVCO1lBQ2pDO2dCQUNFLFdBQVcsRUFBRSxDQUFDO2dCQUNkLElBQUksRUFBRSxjQUFjO2dCQUNwQixXQUFXLEVBQUUsQ0FBQztnQkFDZCxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCO29CQUNEO3dCQUNFLElBQUksRUFBRSxVQUFVO3dCQUNoQixjQUFjLEVBQUUsSUFBSTtxQkFDckI7aUJBQ0Y7YUFDRjtZQUNEO2dCQUNFLFdBQVcsRUFBRSxDQUFDO2dCQUNkLElBQUksRUFBRSxjQUFjO2dCQUNwQixXQUFXLEVBQUUsRUFBRTtnQkFDZixTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsSUFBSSxFQUFFLG1CQUFtQjtxQkFDMUI7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFBLG1DQUFxQixFQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXZFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==