mirror of
https://github.com/quantum5/qcal.git
synced 2025-04-24 17:51:57 -04:00
55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
import {dayMsToDecimal, decimalToDayMs} from './TimeOfDay';
|
|
|
|
describe('dayMsToDecimal', () => {
|
|
it('works', () => {
|
|
const expected = {hour: 0, minute: 0, second: 0};
|
|
let ms = 0;
|
|
|
|
function hour() {
|
|
for (let i = 0; i < 10000; ++i) {
|
|
expect(dayMsToDecimal(ms++)).toStrictEqual(expected);
|
|
expect(dayMsToDecimal(ms)).toStrictEqual(expected);
|
|
ms += 862;
|
|
expect(dayMsToDecimal(ms++)).toStrictEqual(expected);
|
|
|
|
if (++expected.second >= 100) {
|
|
expected.second = 0;
|
|
if (++expected.minute >= 100) {
|
|
expected.minute = 0;
|
|
++expected.hour;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hour();
|
|
hour();
|
|
expected.hour += 7;
|
|
ms += 864 * 10_000 * 7;
|
|
hour();
|
|
|
|
expect(ms).toStrictEqual(86_400_000);
|
|
expect(expected).toStrictEqual({hour: 10, minute: 0, second: 0});
|
|
});
|
|
});
|
|
|
|
describe('decimalToDayMs', () => {
|
|
it('works', () => {
|
|
function hour(hour: number) {
|
|
let expected = hour * 8_640_000;
|
|
|
|
for (let minute = 0; minute < 100; ++minute) {
|
|
for (let second = 0; second < 100; ++second) {
|
|
expect(decimalToDayMs({hour, minute, second})).toStrictEqual(expected);
|
|
expected += 864;
|
|
}
|
|
}
|
|
|
|
expect(expected).toEqual((hour + 1) * 8_640_000);
|
|
}
|
|
|
|
hour(0);
|
|
hour(9);
|
|
});
|
|
})
|