tyme4ts
Version:
Tyme是一个非常强大的日历工具库,可以看作 Lunar 的升级版,拥有更优的设计和扩展性,支持公历和农历、星座、干支、生肖、节气、法定假日等。
57 lines (51 loc) • 1.59 kB
text/typescript
import {suite, test} from '@testdeck/mocha';
import {SolarMonth} from '../lib';
import {equal} from 'assert';
class SolarMonthTest {
test0() {
const m = SolarMonth.fromYm(2019, 5);
equal(m.getName(), '5月');
equal(m.toString(), '2019年5月');
}
test1() {
const m = SolarMonth.fromYm(2023, 1);
equal(m.getWeekCount(0), 5);
equal(m.getWeekCount(1), 6);
equal(m.getWeekCount(2), 6);
equal(m.getWeekCount(3), 5);
equal(m.getWeekCount(4), 5);
equal(m.getWeekCount(5), 5);
equal(m.getWeekCount(6), 5);
}
test2() {
const m = SolarMonth.fromYm(2023, 2);
equal(m.getWeekCount(0), 5);
equal(m.getWeekCount(1), 5);
equal(m.getWeekCount(2), 5);
equal(m.getWeekCount(3), 4);
equal(m.getWeekCount(4), 5);
equal(m.getWeekCount(5), 5);
equal(m.getWeekCount(6), 5);
}
test3() {
const m = SolarMonth.fromYm(2023, 10).next(1);
equal(m.getName(), '11月');
equal(m.toString(), '2023年11月');
}
test4() {
const m = SolarMonth.fromYm(2023, 10);
equal(m.next(2).toString(), '2023年12月');
equal(m.next(3).toString(), '2024年1月');
equal(m.next(-5).toString(), '2023年5月');
equal(m.next(-9).toString(), '2023年1月');
equal(m.next(-10).toString(), '2022年12月');
equal(m.next(24).toString(), '2025年10月');
equal(m.next(-24).toString(), '2021年10月');
}
}