public void LnDate构造函数Test() { LnDate date = new LnDate(new DateTime(2017, 2, 3)); Assert.AreEqual(DateTime.Now.Year, date.Year); Assert.AreEqual(string.Empty, date.JieQi); Assert.AreEqual("初七", date.DayNL); Assert.AreEqual("正", date.MonthNL); Assert.AreEqual(string.Empty, date.Leap); Assert.IsFalse(date.换月); date = new LnDate(new DateTime(2017, 2, 4)); Assert.AreEqual("立春", date.JieQi); Assert.AreEqual("初八", date.DayNL); Assert.IsTrue(date.换月); date = new LnDate(new DateTime(1978, 7, 1)); Assert.AreEqual("廿六", date.DayNL); Assert.AreEqual("五", date.MonthNL); date = new LnDate(new DateTime(2017, 7, 22)); Assert.AreEqual("廿九", date.DayNL); Assert.AreEqual("六", date.MonthNL); Assert.AreEqual(string.Empty, date.Leap); date = new LnDate(new DateTime(2017, 7, 23)); Assert.AreEqual("初一", date.DayNL); Assert.AreEqual("六", date.MonthNL); Assert.AreEqual("闰", date.Leap); }
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() { // 2017.2.3 晚 23后换月令 所以当天还是 LnDate date = new LnDate(new DateTime(2017, 2, 3)); Assert.AreEqual("丙申", date.YearGZ); Assert.AreEqual("辛丑", date.MonthGZ); Assert.AreEqual("辛酉", date.DayGZ); Assert.IsFalse(date.换月); date = new LnDate(new DateTime(2017, 2, 2)); Assert.AreEqual("丙申", date.YearGZ); Assert.AreEqual("辛丑", date.MonthGZ); Assert.AreEqual("庚申", date.DayGZ); Assert.IsFalse(date.换月); date = new LnDate(new DateTime(2017, 2, 4)); Assert.AreEqual("丁酉", date.YearGZ); Assert.AreEqual("壬寅", date.MonthGZ); Assert.AreEqual("壬戌", date.DayGZ); Assert.IsTrue(date.换月); date = new LnDate(new DateTime(2017, 2, 18)); Assert.AreEqual("丁酉", date.YearGZ); Assert.AreEqual("壬寅", date.MonthGZ); Assert.AreEqual("丙子", date.DayGZ); Assert.IsFalse(date.换月); // 普通的换节气的日子 date = new LnDate(new DateTime(2017, 3, 5)); Assert.AreEqual("丁酉", date.YearGZ); Assert.AreEqual("癸卯", date.MonthGZ); Assert.AreEqual("辛卯", date.DayGZ); Assert.IsTrue(date.换月); date = new LnDate(new DateTime(2017, 3, 4)); Assert.AreEqual("丁酉", date.YearGZ); Assert.AreEqual("壬寅", date.MonthGZ); Assert.AreEqual("庚寅", date.DayGZ); Assert.IsFalse(date.换月); // 节气中的“节”不换月的 2016年1月20日晚23点27分换大寒 LnDate dahan1 = new LnDate(2016, 1, 20); Assert.AreEqual("乙未", dahan1.YearGZ); Assert.AreEqual("己丑", dahan1.MonthGZ); Assert.AreEqual("辛丑", dahan1.DayGZ); Assert.IsFalse(date.换月); LnDate dahan = new LnDate(2016, 1, 21); Assert.AreEqual("乙未", dahan.YearGZ); Assert.AreEqual("己丑", dahan.MonthGZ); Assert.AreEqual("壬寅", dahan.DayGZ); Assert.IsFalse(date.换月); }
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); }