1
0
mirror of synced 2025-12-18 11:08:03 +08:00
Files
lunar-javascript/__tests__/EightChar.test.js

142 lines
4.8 KiB
JavaScript

var {Solar} = require('../lunar');
test('test1', () => {
const solar = Solar.fromYmdHms(2005, 12, 23, 8, 37, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getYear()).toBe('乙酉');
expect(eightChar.getMonth()).toBe('戊子');
expect(eightChar.getDay()).toBe('辛巳');
expect(eightChar.getTime()).toBe('壬辰');
});
test('test2', () => {
const solar = Solar.fromYmdHms(1988, 2, 15, 23, 30, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getYear()).toBe('戊辰');
expect(eightChar.getMonth()).toBe('甲寅');
expect(eightChar.getDay()).toBe('庚子');
expect(eightChar.getTime()).toBe('戊子');
});
test('test2a', () => {
const solar = Solar.fromYmdHms(1988, 2, 15, 23, 30, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
eightChar.setSect(1);
expect(eightChar.getYear()).toBe('戊辰');
expect(eightChar.getMonth()).toBe('甲寅');
expect(eightChar.getDay()).toBe('辛丑');
expect(eightChar.getTime()).toBe('戊子');
});
test('test3', () => {
const solar = Solar.fromYmdHms(1988, 2, 15, 22, 30, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getYear()).toBe('戊辰');
expect(eightChar.getMonth()).toBe('甲寅');
expect(eightChar.getDay()).toBe('庚子');
expect(eightChar.getTime()).toBe('丁亥');
});
test('test4', () => {
const solar = Solar.fromYmdHms(1988, 2, 2, 22, 30, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getYear()).toBe('丁卯');
expect(eightChar.getMonth()).toBe('癸丑');
expect(eightChar.getDay()).toBe('丁亥');
expect(eightChar.getTime()).toBe('辛亥');
});
test('地支藏干', () => {
const solar = Solar.fromYmdHms(2005, 12, 23, 8, 37, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getYearHideGan() + '').toBe('辛');
expect(eightChar.getMonthHideGan() + '').toBe('癸');
expect(eightChar.getDayHideGan() + '').toBe('丙,庚,戊');
expect(eightChar.getTimeHideGan() + '').toBe('戊,乙,癸');
});
test('天干十神', () => {
const solar = Solar.fromYmdHms(2005, 12, 23, 8, 37, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getYearShiShenGan()).toBe('偏财');
expect(eightChar.getMonthShiShenGan()).toBe('正印');
expect(eightChar.getDayShiShenGan()).toBe('日主');
expect(eightChar.getTimeShiShenGan()).toBe('伤官');
});
test('地支十神', () => {
const solar = Solar.fromYmdHms(2005, 12, 23, 8, 37, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getYearShiShenZhi() + '').toBe('比肩');
expect(eightChar.getMonthShiShenZhi() + '').toBe('食神');
expect(eightChar.getDayShiShenZhi() + '').toBe('正官,劫财,正印');
expect(eightChar.getTimeShiShenZhi() + '').toBe('正印,偏财,食神');
});
test('地势', () => {
const solar = Solar.fromYmdHms(2005, 12, 23, 8, 37, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getYearDiShi()).toBe('临官');
expect(eightChar.getMonthDiShi()).toBe('长生');
expect(eightChar.getDayDiShi()).toBe('死');
expect(eightChar.getTimeDiShi()).toBe('墓');
});
test('纳音', () => {
const solar = Solar.fromYmdHms(2005, 12, 23, 8, 37, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getYearNaYin()).toBe('泉中水');
expect(eightChar.getMonthNaYin()).toBe('霹雳火');
expect(eightChar.getDayNaYin()).toBe('白蜡金');
expect(eightChar.getTimeNaYin()).toBe('长流水');
});
test('胎元', () => {
let solar = Solar.fromYmdHms(2005, 12, 23, 8, 37, 0);
let lunar = solar.getLunar();
let eightChar = lunar.getEightChar();
expect(eightChar.getTaiYuan()).toBe('己卯');
solar = Solar.fromYmdHms(1995, 12, 18, 10, 28, 0);
lunar = solar.getLunar();
eightChar = lunar.getEightChar();
expect(eightChar.getTaiYuan()).toBe('己卯');
});
test('命宫', () => {
let solar = Solar.fromYmdHms(2005, 12, 23, 8, 37, 0);
let lunar = solar.getLunar();
let eightChar = lunar.getEightChar();
expect(eightChar.getMingGong()).toBe('己丑');
solar = Solar.fromYmdHms(1998, 6, 11, 4, 28, 0);
lunar = solar.getLunar();
eightChar = lunar.getEightChar();
expect(eightChar.getMingGong()).toBe('辛酉');
solar = Solar.fromYmdHms(1995, 12, 18, 10, 28, 0);
lunar = solar.getLunar();
eightChar = lunar.getEightChar();
expect(eightChar.getMingGong()).toBe('戊子');
});
test('身宫', () => {
const solar = Solar.fromYmdHms(1995, 12, 18, 10, 28, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getShenGong()).toBe('壬午');
});