Example #1
0
        public void FiscalYearsNearestDayGetQuartersTest()
        {
            const int             yearCount = 13;
            Years                 years     = new Years(2006, yearCount, GetFiscalYearCalendar(FiscalYearAlignment.NearestDay));
            ITimePeriodCollection quarters  = years.GetQuarters();

            Assert.NotNull(quarters);
            Assert.Equal(quarters.Count, yearCount * TimeSpec.QuartersPerYear);

            Assert.Equal(quarters[0].Start, new DateTime(2006, 9, 3));
            foreach (Quarter quarter in quarters)
            {
                // last quarter of a leap year
                // http://en.wikipedia.org/wiki/4-4-5_Calendar
                if ((quarter.YearQuarter == YearQuarter.Fourth) && (quarter.Year == 2011 || quarter.Year == 2016))
                {
                    Assert.Equal(quarter.Duration.Subtract(TimeCalendar.DefaultEndOffset).Days, TimeSpec.FiscalDaysPerLeapQuarter);
                }
                else
                {
                    Assert.Equal(quarter.Duration.Subtract(TimeCalendar.DefaultEndOffset).Days, TimeSpec.FiscalDaysPerQuarter);
                }
            }
        }         // FiscalYearsNearestDayGetQuartersTest
Example #2
0
        public void GetQuartersTest()
        {
            const int         startYear    = 2004;
            const int         yearCount    = 10;
            const YearMonth   startMonth   = YearMonth.October;
            const YearQuarter startQuarter = YearQuarter.Third;
            Years             years        = new Years(startYear, yearCount, TimeCalendar.New(startMonth));

            ITimePeriodCollection quarters = years.GetQuarters();

            Assert.NotNull(quarters);

            int index = 0;

            foreach (Quarter quarter in quarters)
            {
                int quarterYear = startYear + ((index + (int)startQuarter) / TimeSpec.QuartersPerYear);
                Assert.Equal(quarter.Year, quarterYear);
                Assert.Equal(quarter.Start, years.Start.AddMonths(index * TimeSpec.MonthsPerQuarter));
                Assert.Equal(quarter.End, quarter.Calendar.MapEnd(quarter.Start.AddMonths(TimeSpec.MonthsPerQuarter)));
                index++;
            }
            Assert.Equal(index, yearCount * TimeSpec.QuartersPerYear);
        }         // GetQuartersTest