public void CalendarYearQuarterTest() { var currentYear = ClockProxy.Clock.Now.Year; var timeCalendar = TimeCalendar.NewEmptyOffset(); var current = new QuarterRange(currentYear, QuarterKind.First); current.GetNextQuarter().GetNextQuarter().GetNextQuarter().GetNextQuarter().Quarter.Should().Be(current.Quarter); current.GetPreviousQuarter().GetPreviousQuarter().GetPreviousQuarter().GetPreviousQuarter().Quarter.Should().Be( current.Quarter); var q1 = new QuarterRange(currentYear, QuarterKind.First, timeCalendar); Assert.IsTrue(q1.IsReadOnly); q1.Quarter.Should().Be(QuarterKind.First); q1.Start.Should().Be(new DateTime(currentYear, TimeSpec.FirstQuarterMonth, 1)); q1.End.Should().Be(new DateTime(currentYear, TimeSpec.SecondQuarterMonth, 1)); var q2 = new QuarterRange(currentYear, QuarterKind.Second, timeCalendar); Assert.IsTrue(q2.IsReadOnly); q2.Quarter.Should().Be(QuarterKind.Second); q2.Start.Should().Be(new DateTime(currentYear, TimeSpec.SecondQuarterMonth, 1)); q2.End.Should().Be(new DateTime(currentYear, TimeSpec.ThirdQuarterMonth, 1)); var q3 = new QuarterRange(currentYear, QuarterKind.Third, timeCalendar); Assert.IsTrue(q3.IsReadOnly); q3.Quarter.Should().Be(QuarterKind.Third); q3.Start.Should().Be(new DateTime(currentYear, TimeSpec.ThirdQuarterMonth, 1)); q3.End.Should().Be(new DateTime(currentYear, TimeSpec.FourthQuarterMonth, 1)); var q4 = new QuarterRange(currentYear, QuarterKind.Fourth, timeCalendar); Assert.IsTrue(q4.IsReadOnly); q4.Quarter.Should().Be(QuarterKind.Fourth); q4.Start.Should().Be(new DateTime(currentYear, TimeSpec.FourthQuarterMonth, 1)); q4.End.Should().Be(new DateTime(currentYear + 1, TimeSpec.FirstQuarterMonth, 1)); }
public void QuarterMomentTest() { var quarter = new QuarterRange(2008, QuarterKind.First, TimeCalendar.NewEmptyOffset()); quarter.IsReadOnly.Should().Be.True(); quarter.BaseYear.Should().Be(2008); quarter.Quarter.Should().Be(QuarterKind.First); quarter.Start.Should().Be(new DateTime(2008, TimeSpec.FirstQuarterMonth, 1)); quarter.End.Should().Be(new DateTime(2008, TimeSpec.SecondQuarterMonth, 1)); var previous = quarter.GetPreviousQuarter(); previous.BaseYear.Should().Be(2007); previous.Quarter.Should().Be(QuarterKind.Fourth); previous.Start.Should().Be(new DateTime(2007, TimeSpec.FourthQuarterMonth, 1)); previous.End.Should().Be(new DateTime(2008, TimeSpec.FirstQuarterMonth, 1)); var next = quarter.GetNextQuarter(); next.BaseYear.Should().Be(2008); next.Quarter.Should().Be(QuarterKind.Second); next.Start.Should().Be(new DateTime(2008, TimeSpec.SecondQuarterMonth, 1)); next.End.Should().Be(new DateTime(2008, TimeSpec.ThirdQuarterMonth, 1)); }