Inheritance: YearTimeRange
Beispiel #1
0
        public void SingleYearsTest()
        {
            const int startYear = 2004;
            Years years = new Years( startYear, 1 );

            Assert.AreEqual( years.YearCount, 1 );
            Assert.AreEqual( years.StartYear, startYear );
            Assert.AreEqual( years.EndYear, startYear );
            Assert.AreEqual( years.GetYears().Count, 1 );
            Assert.IsTrue( years.GetYears()[ 0 ].IsSamePeriod( new Year( startYear ) ) );
        }
Beispiel #2
0
        // ----------------------------------------------------------------------
        public static void ShowAll( int periodCount, int startYear, TimeCalendarConfig calendarConfig )
        {
            WriteLine( "Input: count={0}, year={1}", periodCount, startYear );
            WriteLine( "Calendar: base-month={0}, week-type={1}, culture={2}", calendarConfig.YearBaseMonth,  calendarConfig.YearWeekType, calendarConfig.Culture.Name );

            WriteLine();

            YearTimeRange yearTimeRange;
            if ( periodCount == 1 )
            {
                Year year = new Year( startYear, new TimeCalendar( calendarConfig ) );
                yearTimeRange = year;

                Year previousYear = year.GetPreviousYear();
                Year nextYears = year.GetNextYear();

                ShowYear( year );
                ShowCompactYear( previousYear, "Previous Year" );
                ShowCompactYear( nextYears, "Next Year" );
                WriteLine();
            }
            else
            {
                Years years = new Years( startYear, periodCount, new TimeCalendar( calendarConfig ) );
                yearTimeRange = years;

                ShowYears( years );
                WriteLine();

                foreach ( Year year in years.GetYears() )
                {
                    ShowCompactYear( year );
                }
                WriteLine();
            }

            foreach ( Halfyear halfyear in yearTimeRange.GetHalfyears() )
            {
                HalfyearDemo.ShowCompactHalfyear( halfyear );
            }
            WriteLine();
            foreach ( Quarter quarter in yearTimeRange.GetQuarters() )
            {
                QuarterDemo.ShowCompactQuarter( quarter );
            }
            WriteLine();
            foreach ( Month month in yearTimeRange.GetMonths() )
            {
                MonthDemo.ShowCompactMonth( month );
            }
            WriteLine();
        }
Beispiel #3
0
        public void DefaultCalendarYearsTest()
        {
            const int startYear = 2004;
            const int yearCount = 3;
            Years years = new Years( startYear, yearCount );

            Assert.AreEqual( years.YearCount, yearCount );
            Assert.AreEqual( years.StartYear, startYear );
            Assert.AreEqual( years.EndYear, startYear + yearCount - 1 );

            int index = 0;
            foreach ( Year year in years.GetYears() )
            {
                Assert.IsTrue( year.IsSamePeriod( new Year( startYear + index ) ) );
                index++;
            }
        }
Beispiel #4
0
        public void CustomCalendarYearsTest()
        {
            const int startYear = 2004;
            const int yearCount = 3;
            const int startMonth = 4;
            Years years = new Years( startYear, yearCount, TimeCalendar.New( (YearMonth)startMonth ) );

            Assert.AreEqual( years.YearCount, yearCount );
            Assert.AreEqual( years.StartYear, startYear );
            Assert.AreEqual( years.EndYear, startYear + yearCount );

            int index = 0;
            foreach ( Year year in years.GetYears() )
            {
                Assert.AreEqual( year.Start, new DateTime( startYear + index, startMonth, 1 ) );
                index++;
            }
        }
Beispiel #5
0
 // ----------------------------------------------------------------------
 public static void ShowCompactYears( Years years, string caption = "Years" )
 {
     WriteLine( "{0}: {1}", caption, years );
 }
Beispiel #6
0
 // ----------------------------------------------------------------------
 public static void ShowYears( Years years, string caption = "Years" )
 {
     WriteLine( "{0}: {1}", caption, years );
     WriteIndentLine( "YearBaseMonth: {0}", years.YearBaseMonth );
     WriteIndentLine( "StartYear: {0}", years.StartYear );
     WriteIndentLine( "StartYearName: {0}", years.StartYearName );
     WriteIndentLine( "EndYear: {0}", years.EndYear );
     WriteIndentLine( "EndYearName: {0}", years.EndYearName );
     WriteIndentLine( "FirstDayStart: {0}", Format( years.FirstDayStart ) );
     WriteIndentLine( "LastDayStart: {0}", Format( years.LastDayStart ) );
     WriteIndentLine( "LastMonthStart: {0}", Format( years.LastMonthStart ) );
     WriteLine();
 }
Beispiel #7
0
 public void YearBaseMonthTest()
 {
     DateTime moment = new DateTime( 2009, 2, 15 );
     int year = TimeTool.GetYearOf( YearMonth.April, moment.Year, moment.Month );
     Years years = new Years( moment, 3, TimeCalendar.New( YearMonth.April ) );
     Assert.AreEqual( years.YearBaseMonth, YearMonth.April );
     Assert.AreEqual( years.Start, new DateTime( year, (int)YearMonth.April, 1 ) );
 }
Beispiel #8
0
        public void YearStartSample()
        {
            TimeCalendar calendar = new TimeCalendar(
                new TimeCalendarConfig { YearBaseMonth = YearMonth.February } );

            Years years = new Years( 2012, 2, calendar ); // 2012-2013
            Console.WriteLine( "Quarters of Years (February): {0}", years );
            // > Quarters of Years (February): 2012 - 2014; 01.02.2012 - 31.01.2014 | 730.23:59

            foreach ( Year year in years.GetYears() )
            {
                foreach ( Quarter quarter in year.GetQuarters() )
                {
                    Console.WriteLine( "Quarter: {0}", quarter );
                }
            }
            // > Quarter: Q1 2012; 01.02.2012 - 30.04.2012 | 89.23:59
            // > Quarter: Q2 2012; 01.05.2012 - 31.07.2012 | 91.23:59
            // > Quarter: Q3 2012; 01.08.2012 - 31.10.2012 | 91.23:59
            // > Quarter: Q4 2012; 01.11.2012 - 31.01.2013 | 91.23:59
            // > Quarter: Q1 2013; 01.02.2013 - 30.04.2013 | 88.23:59
            // > Quarter: Q2 2013; 01.05.2013 - 31.07.2013 | 91.23:59
            // > Quarter: Q3 2013; 01.08.2013 - 31.10.2013 | 91.23:59
            // > Quarter: Q4 2013; 01.11.2013 - 31.01.2014 | 91.23:59
        }