public void FirstHalfyearMonthTest() { Halfyears halfyears = new Halfyears(2016, YearHalfyear.First, 1); Assert.Equal(6, halfyears.GetMonths().Count); Assert.Equal(1, halfyears.GetMonths()[0].Start.Month); Assert.Equal(6, halfyears.GetMonths()[5].Start.Month); } // FirstHalfyearMonthTest
public void SecondHalfyearMonthTest() { Halfyears halfyears = new Halfyears(2016, YearHalfyear.Second, 1); Assert.Equal(6, halfyears.GetMonths().Count); Assert.Equal(7, halfyears.GetMonths()[0].Start.Month); Assert.Equal(12, halfyears.GetMonths()[5].Start.Month); } // SecondHalfyearMonthTest
public void FiscalYearGetMonthsTest() { const int halfyearCount = 4; Halfyears halfyears = new Halfyears(2006, YearHalfyear.First, halfyearCount, GetFiscalYearCalendar(FiscalYearAlignment.LastDay)); ITimePeriodCollection months = halfyears.GetMonths(); Assert.NotNull(months); Assert.Equal(months.Count, TimeSpec.MonthsPerHalfyear * halfyearCount); Assert.Equal <DateTime>(months[0].Start, new DateTime(2006, 8, 27)); for (int i = 0; i < months.Count; i++) { Month month = (Month)months[i]; // last month of a leap year (6 weeks) // http://en.wikipedia.org/wiki/4-4-5_Calendar if ((month.YearMonth == YearMonth.August) && (month.Year == 2008 || month.Year == 2013 || month.Year == 2019)) { Assert.Equal(month.Duration.Subtract(TimeCalendar.DefaultEndOffset).Days, TimeSpec.FiscalDaysPerLeapMonth); } else if ((i + 1) % 3 == 0) // first and second month of quarter (4 weeks) { Assert.Equal(month.Duration.Subtract(TimeCalendar.DefaultEndOffset).Days, TimeSpec.FiscalDaysPerLongMonth); } else // third month of quarter (5 weeks) { Assert.Equal(month.Duration.Subtract(TimeCalendar.DefaultEndOffset).Days, TimeSpec.FiscalDaysPerShortMonth); } } Assert.Equal(months[(TimeSpec.MonthsPerHalfyear * halfyearCount) - 1].End, halfyears.End); } // FiscalYearGetMonthsTest