/// <summary> /// Create a <see cref="LocalDate"/> in the Badíʿ calendar, treating 0 /// as the month containing Ayyam-i-Ha. /// </summary> /// <param name="year">Year in the Badíʿ calendar</param> /// <param name="month">Month (use 0 for Ayyam-i-Ha)</param> /// <param name="day">Day in month</param> private static LocalDate CreateBadiDate(int year, int month, int day) { if (month == AyyamiHaMonth) { Preconditions.CheckArgumentRange(nameof(day), day, 1, BadiYearMonthDayCalculator.GetDaysInAyyamiHa(year)); // Move Ayyam-i-Ha days to fall after the last day of month 18. month = BadiYearMonthDayCalculator.Month18; day += BadiYearMonthDayCalculator.DaysInMonth; } return(new LocalDate(year, month, day, CalendarSystem.Badi)); }
public void DayOfYear(int bYear, int bMonth, int bDay, int dayOfYear) { var badi = new BadiYearMonthDayCalculator(); Assert.AreEqual(dayOfYear, badi.GetDayOfYear(CreateBadiDate(bYear, bMonth, bDay).YearMonthDay)); }
public void DaysInAyyamiHa(int bYear, int days) { Assert.AreEqual(days, BadiYearMonthDayCalculator.GetDaysInAyyamiHa(bYear)); }