public void BclThroughHistory() { Calendar hijri = new HijriCalendar(); DateTime bclDirect = new DateTime(1, 1, 1, 0, 0, 0, 0, hijri, DateTimeKind.Unspecified); CalendarSystem islamicCalendar = CalendarSystem.GetIslamicCalendar(IslamicLeapYearPattern.Base16, IslamicEpoch.Astronomical); CalendarSystem julianCalendar = CalendarSystem.GetJulianCalendar(4); LocalDate julianIslamicEpoch = new LocalDate(622, 7, 15, julianCalendar); LocalDate islamicDate = julianIslamicEpoch.WithCalendar(islamicCalendar); for (int i = 0; i < 9000 * 365; i++) { Assert.AreEqual(bclDirect, islamicDate.LocalDateTime.ToDateTimeUnspecified()); Assert.AreEqual(hijri.GetYear(bclDirect), islamicDate.Year, i.ToString()); Assert.AreEqual(hijri.GetMonth(bclDirect), islamicDate.MonthOfYear); Assert.AreEqual(hijri.GetDayOfMonth(bclDirect), islamicDate.DayOfMonth); bclDirect = hijri.AddDays(bclDirect, 1); islamicDate = islamicDate.PlusDays(1); } }