Itenso.TimePeriod.Month.AddMonths C# (CSharp) Method

AddMonths() public method

public AddMonths ( int months ) : Month
months int
return Month
        public Month AddMonths( int months )
        {
            DateTime startDate = new DateTime( StartYear, (int)StartMonth, 1 );
            return new Month( startDate.AddMonths( months ), Calendar );
        }

Usage Example

Ejemplo n.º 1
0
        public void AddMonthsTest()
        {
            DateTime now = ClockProxy.Clock.Now;

            CultureTestData cultures = new CultureTestData();
            foreach ( CultureInfo culture in cultures )
            {

                DateTime currentYearMonthStart = new DateTime( now.Year, now.Month, 1 );
                DateTime currentYearMonthEnd =
                    currentYearMonthStart.AddDays( culture.Calendar.GetDaysInMonth( currentYearMonthStart.Year,
                                                                                                                                                    currentYearMonthStart.Month ) );
                Month currentYearMonth = new Month( currentYearMonthStart,
                                                                                        TimeCalendar.New( culture, TimeSpan.Zero, TimeSpan.Zero ) );
                Assert.AreEqual( currentYearMonth.Start, currentYearMonthStart );
                Assert.AreEqual( currentYearMonth.End, currentYearMonthEnd );

                Assert.AreEqual( currentYearMonth.AddMonths( 0 ), currentYearMonth );

                DateTime previousYearMonthStart = new DateTime( now.Year - 1, now.Month, 1 );
                DateTime previousYearMonthEnd =
                    previousYearMonthStart.AddDays( culture.Calendar.GetDaysInMonth( previousYearMonthStart.Year,
                                                                                                                                                     previousYearMonthStart.Month ) );
                Month previousYearMonth = currentYearMonth.AddMonths( TimeSpec.MonthsPerYear * -1 );
                Assert.AreEqual( previousYearMonth.Start, previousYearMonthStart );
                Assert.AreEqual( previousYearMonth.End, previousYearMonthEnd );
                Assert.AreEqual( previousYearMonth.YearMonth, currentYearMonth.YearMonth );
                Assert.AreEqual( previousYearMonth.Start.Year, currentYearMonth.Start.Year - 1 );
                Assert.AreEqual( previousYearMonth.End.Year, currentYearMonth.End.Year - 1 );

                DateTime nextYearMonthStart = new DateTime( now.Year + 1, now.Month, 1 );
                DateTime nextYearMonthEnd =
                    nextYearMonthStart.AddDays( culture.Calendar.GetDaysInMonth( nextYearMonthStart.Year, nextYearMonthStart.Month ) );
                Month nextYearMonth = currentYearMonth.AddMonths( TimeSpec.MonthsPerYear );
                Assert.AreEqual( nextYearMonth.Start, nextYearMonthStart );
                Assert.AreEqual( nextYearMonth.End, nextYearMonthEnd );
                Assert.AreEqual( nextYearMonth.YearMonth, currentYearMonth.YearMonth );
                Assert.AreEqual( nextYearMonth.Start.Year, currentYearMonth.Start.Year + 1 );
                Assert.AreEqual( nextYearMonth.End.Year, currentYearMonth.End.Year + 1 );
            }
        }
All Usage Examples Of Itenso.TimePeriod.Month::AddMonths