public void 八字调整Test() { DateTime day = new DateTime(1978, 7, 1, 6, 45, 0); HHTime ming = new HHTime(day); Assert.IsNotNull(ming); Assert.AreEqual("戊午", ming.年.Name); Assert.AreEqual("戊午", ming.月.Name); Assert.AreEqual("甲子", ming.日.Name); Assert.AreEqual("丁卯", ming.时.Name); HHTime ming1 = new HHTime(day, 确定时辰: false); Assert.IsNotNull(ming1); Assert.AreEqual("戊午", ming1.年.Name); Assert.AreEqual("戊午", ming1.月.Name); Assert.AreEqual("甲子", ming1.日.Name); Assert.AreEqual("口口", ming1.时.Name); // 2017.2.3 晚 23后换月令 所以当天还是 DateTime old = new DateTime(2017, 2, 3, 22, 45, 0); HHTime mingOld = new HHTime(old); Assert.AreEqual("丙申", mingOld.年.Name); Assert.AreEqual("辛丑", mingOld.月.Name); Assert.AreEqual("辛酉", mingOld.日.Name); Assert.AreEqual("己亥", mingOld.时.Name); DateTime lichun = new DateTime(2017, 2, 3, 23, 45, 0); HHTime mingLiChun = new HHTime(lichun); Assert.AreEqual("丁酉", mingLiChun.年.Name); Assert.AreEqual("壬寅", mingLiChun.月.Name); Assert.AreEqual("壬戌", mingLiChun.日.Name); Assert.AreEqual("庚子", mingLiChun.时.Name); day = new DateTime(2017, 2, 2, 7, 45, 0); ming = new HHTime(day); Assert.AreEqual("丙申", ming.年.Name); Assert.AreEqual("辛丑", ming.月.Name); Assert.AreEqual("庚申", ming.日.Name); Assert.AreEqual("庚辰", ming.时.Name); BaZiList <GanZhi> bazi = BaZiList.Create(new GanZhi(""), new GanZhi("卯"), new GanZhi("甲子"), new GanZhi("")); ming = new HHTime(bazi); Assert.IsNotNull(ming); Assert.AreEqual(-1, ming.年.Index); Assert.AreEqual(-1, ming.月.Index); Assert.AreEqual(0, ming.日.Index); Assert.AreEqual("口卯", ming.月.Name); Assert.AreEqual("口卯月 甲子日 ", ming.TimeText); Assert.AreEqual("/卯/甲子/", ming.ToString()); }
public void ParseMethodeTest() { DateTime day = new DateTime(1978, 7, 1, 6, 45, 0); string text = day.ToString(); HHTime time = HHTime.Parse(text); Assert.IsNotNull(time); Assert.AreEqual(text, time.ToString()); time = HHTime.Parse(text, 确定时辰: false); Assert.IsNotNull(time); Assert.AreEqual(day.ToShortDateString(), time.ToString()); BaZiList <GanZhi> bazi = BaZiList.Create(new GanZhi(""), new GanZhi("卯"), new GanZhi("甲子"), new GanZhi("")); Assert.AreEqual("/卯/甲子/", bazi.ToString()); time = HHTime.Parse(bazi.ToString()); Assert.AreEqual(bazi.ToString(), time.ToString()); time = HHTime.Parse("//丁卯/"); Assert.AreEqual("//丁卯/", time.ToString()); }