public void 建除日Test() { LnDate date = new LnDate(2017, 2, 1); GanZhi yue = new GanZhi(date.MonthGZ); GanZhi ri = new GanZhi(date.DayGZ); JianChu jianchu = JianChu.Get(yue.Zhi, ri.Zhi); Assert.AreEqual("破日", jianchu.Name); date = new LnDate(2017, 2, 2); yue = new GanZhi(date.MonthGZ); ri = new GanZhi(date.DayGZ); jianchu = JianChu.Get(yue.Zhi, ri.Zhi); Assert.AreEqual("危日", jianchu.Name); date = new LnDate(2017, 2, 8); HuangLi hl = LnBase.黄历日(date); Assert.AreEqual("建日", hl.建除.Name); date = new LnDate(2017, 2, 9); hl = LnBase.黄历日(date); Assert.AreEqual("除日", hl.建除.Name); Assert.AreEqual(LnBase.忌日.杨公十三忌 | LnBase.忌日.岁破, hl.忌日); LnBase.忌日 jiri = LnBase.忌日.朔 | LnBase.忌日.月破; Assert.AreNotEqual(LnBase.忌日.百无禁忌, jiri & LnBase.忌日.朔); Assert.AreNotEqual(LnBase.忌日.百无禁忌, jiri & LnBase.忌日.月破); Assert.AreEqual(LnBase.忌日.百无禁忌, jiri & LnBase.忌日.杨公十三忌); }
public void 查八字Test() { DateTime res = LnBase.查找八字("戊午", "戊午", "甲子", 2017, 方向.逆行); Assert.AreEqual(new DateTime(1978, 7, 1), res); res = LnBase.查找八字("丁酉", "壬寅", "壬戌", 2016, 方向.顺行); Assert.AreEqual(new DateTime(2017, 2, 4), res); res = LnBase.查找八字("丙申", "辛丑", "辛酉", 2016, 方向.顺行); Assert.AreEqual(new DateTime(2017, 2, 3), res); res = LnBase.查找八字("丁亥", "庚戌", "己巳", 1930, 方向.逆行); Assert.AreEqual(new DateTime(1887, 10, 31), res); res = LnBase.查找农历(1978, "五", "廿六", false); Assert.AreEqual(new DateTime(1978, 7, 1), res); try { res = LnBase.查找农历(1978, "五", "廿六", true); Assert.IsTrue(false, "应该找不到"); } catch (Exception) { } res = LnBase.查找农历(2017, "六", "初一", true); Assert.AreEqual(new DateTime(2017, 7, 23), res); }
public void 起大运时间Test() { DateTime day = LnBase.起运时间(new DateTime(1978, 7, 1, 6, 45, 0), 方向.顺行); Assert.AreEqual(1980, day.Year); Assert.AreEqual(9, day.Month); Assert.AreEqual(3, day.Day); day = LnBase.起运时间(new DateTime(1978, 7, 1, 6, 45, 0), 方向.逆行); Assert.AreEqual(1986, day.Year); Assert.AreEqual(10, day.Month); Assert.AreEqual(15, day.Day); }
public void 查节气() { LnDate day = LnBase.查找节气(2017, 2); Assert.AreEqual(4, day.Day); day = LnBase.查找节气(2017, 3); Assert.AreEqual(5, day.Day); day = LnBase.查找节气(2017, 10); Assert.AreEqual(8, day.Day); day = LnBase.查找节气(2016, 13); Assert.AreEqual(5, day.Day); Assert.AreEqual(2017, day.Year); Assert.AreEqual(1, day.Month); day = LnBase.查找节气(2017, 0); Assert.AreEqual(7, day.Day); Assert.AreEqual(2016, day.Year); Assert.AreEqual(12, day.Month); TimeSpan ts = LnBase.计算节气时间差(new DateTime(2017, 2, 4, 5, 0, 0), 方向.逆行); Assert.AreNotEqual(TimeSpan.Zero, ts); Assert.AreEqual(-5, ts.Hours); Assert.AreEqual(0, ts.Days); ts = LnBase.计算节气时间差(new DateTime(2017, 2, 8, 5, 0, 0), 方向.逆行); Assert.AreNotEqual(TimeSpan.Zero, ts); Assert.AreEqual(-5, ts.Hours); Assert.AreEqual(-4, ts.Days); ts = LnBase.计算节气时间差(new DateTime(1978, 7, 1, 6, 36, 0), 方向.顺行); Assert.AreNotEqual(TimeSpan.Zero, ts); Assert.AreEqual(13, ts.Hours); Assert.AreEqual(6, ts.Days); }
public void 查八字失败Test() { DateTime res = LnBase.查找八字("戊午", "甲午", "", 2017, 方向.逆行); }