예제 #1
0
    public static void Main()
    {
        // Creates and initializes a TaiwanCalendar.
        TaiwanCalendar myCal = new TaiwanCalendar();

        // Displays the header.
        Console.Write("YEAR\t");
        for (int y = 90; y <= 94; y++)
        {
            Console.Write("\t{0}", y);
        }
        Console.WriteLine();

        // Checks five years in the current era.
        Console.Write("CurrentEra:");
        for (int y = 90; y <= 94; y++)
        {
            Console.Write("\t{0}", myCal.IsLeapYear(y, TaiwanCalendar.CurrentEra));
        }
        Console.WriteLine();

        // Checks five years in each of the eras.
        for (int i = 0; i < myCal.Eras.Length; i++)
        {
            Console.Write("Era {0}:\t", myCal.Eras[i]);
            for (int y = 90; y <= 94; y++)
            {
                Console.Write("\t{0}", myCal.IsLeapYear(y, myCal.Eras[i]));
            }
            Console.WriteLine();
        }
    }
예제 #2
0
 public void IsLeapYear(int year)
 {
     TaiwanCalendar calendar = new TaiwanCalendar();
     bool expected = new GregorianCalendar().IsLeapYear(year + 1911);
     Assert.Equal(expected, calendar.IsLeapYear(year));
     Assert.Equal(expected, calendar.IsLeapYear(year, 0));
     Assert.Equal(expected, calendar.IsLeapYear(year, 1));
 }
        public void IsLeapYear(int year)
        {
            TaiwanCalendar calendar = new TaiwanCalendar();
            bool           expected = new GregorianCalendar().IsLeapYear(year + 1911);

            Assert.Equal(expected, calendar.IsLeapYear(year));
            Assert.Equal(expected, calendar.IsLeapYear(year, 0));
            Assert.Equal(expected, calendar.IsLeapYear(year, 1));
        }
        public void NegTest3()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand  = new Random(-55);
            int    year  = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    month = rand.Next(1, 12);
            int    day;

            if (tc.IsLeapYear(year))
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1);
            }
            else
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1);
            }

            DateTime dt = new DateTime(year, month, day);

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                tc.GetWeekOfYear(dt, (CalendarWeekRule)3, DayOfWeek.Sunday);
            });

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                tc.GetWeekOfYear(dt, (CalendarWeekRule)(-1), DayOfWeek.Sunday);
            });
        }
        public void PosTest1()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand  = new Random(-55);
            int    year  = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    month = rand.Next(1, 12);
            int    day;

            if (tc.IsLeapYear(year))
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1);
            }
            else
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1);
            }
            DateTime dt = new DateTime(year, month, day);

            for (int i = 0; i < 7; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    int actualWeek = getWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i);
                    int resultWeek = tc.GetWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i);
                    Assert.Equal(resultWeek, actualWeek);
                }
            }
        }
        public void NegTest4()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand  = new Random(-55);
            int    year  = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    month = rand.Next(1, 12);
            int    day;

            if (tc.IsLeapYear(year))
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1);
            }
            else
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1);
            }

            DateTime dt       = new DateTime(year, month, day);
            int      addValue = rand.Next(120000, Int32.MaxValue);

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                tc.AddMonths(dt, addValue);
            });
        }
        public void NegTest2()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand  = new Random(-55);
            int    year  = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    month = rand.Next(1, 12);
            int    day;

            if (tc.IsLeapYear(year))
            {
                day = rand.Next(1, 30);
            }
            else
            {
                day = rand.Next(1, 29);
            }

            DateTime dt       = tc.ToDateTime(year, month, day, 0, 0, 0, 0);
            int      addValue = rand.Next(Int32.MinValue, (tc.MinSupportedDateTime.Year - year) * 12);

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                tc.AddMonths(dt, addValue);
            });
        }
        public void PosTest2()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand  = new Random(-55);
            int    year  = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    month = rand.Next(1, 12);
            int    day;

            if (tc.IsLeapYear(year))
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1);
            }
            else
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1);
            }

            DateTime dt = new DateTime(year, month, day);
            int      addvalue;

            if ((tc.MinSupportedDateTime.Year - year) < -1000)
            {
                addvalue = rand.Next(-1000 * 12, 0);
            }
            else
            {
                addvalue = rand.Next((tc.MinSupportedDateTime.Year - year) * 12, 0);
            }

            VerificationHelper(dt, addvalue);
        }
 public void GetDaysInYear(int year)
 {
     TaiwanCalendar calendar = new TaiwanCalendar();
     int expected = calendar.IsLeapYear(year) ? 366 : 365;
     Assert.Equal(expected, calendar.GetDaysInYear(year));
     Assert.Equal(expected, calendar.GetDaysInYear(year, 0));
     Assert.Equal(expected, calendar.GetDaysInYear(year, 1));
 }
        public void GetDaysInYear(int year)
        {
            TaiwanCalendar calendar = new TaiwanCalendar();
            int            expected = calendar.IsLeapYear(year) ? 366 : 365;

            Assert.Equal(expected, calendar.GetDaysInYear(year));
            Assert.Equal(expected, calendar.GetDaysInYear(year, 0));
            Assert.Equal(expected, calendar.GetDaysInYear(year, 1));
        }
예제 #11
0
        private static string GetResult(int year)
        {
            TaiwanCalendar tw = new TaiwanCalendar();

            if (tw.IsLeapYear(year))
            {
                return("是");
            }
            return("不是");
        }
        public void NegTest2()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand = new Random(-55);
            int    year = tc.MinSupportedDateTime.Year - rand.Next(1, Int32.MaxValue);
            int    era  = Calendar.CurrentEra;

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                tc.IsLeapYear(year, era);
            });
        }
        public void NegTest3()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand = new Random(-55);
            int    year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year + 1);
            int    era  = 2;

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                tc.IsLeapYear(year, era);
            });
        }
        public void PosTest2()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand = new Random(-55);
            int    year = 2000 - 1911;
            int    era;

            for (int i = 0; i < tc.Eras.Length; i++)
            {
                era = tc.Eras[i];
                Assert.True(tc.IsLeapYear(year, era));
            }
        }
예제 #15
0
 public void GetDaysInYear(int year, int era)
 {
     TaiwanCalendar calendar = new TaiwanCalendar();
     int expected;
     if (calendar.IsLeapYear(year, era))
     {
         expected = 366;
     }
     else
     {
         expected = 365;
     }
     Assert.Equal(expected, new TaiwanCalendar().GetDaysInYear(year, era));
 }
예제 #16
0
 public static void GetDaysInMonth(int year, int month, int era)
 {
     TaiwanCalendar calendar = new TaiwanCalendar();
     int expected;
     if (calendar.IsLeapYear(year, era))
     {
         expected = s_daysPerMonthLeapYear[month];
     }
     else
     {
         expected = s_daysPerMonthCommonYear[month];
     }
     Assert.Equal(expected, calendar.GetDaysInMonth(year, month, era));
 }
예제 #17
0
        public void GetDaysInYear(int year, int era)
        {
            TaiwanCalendar calendar = new TaiwanCalendar();
            int            expected;

            if (calendar.IsLeapYear(year, era))
            {
                expected = 366;
            }
            else
            {
                expected = 365;
            }
            Assert.Equal(expected, new TaiwanCalendar().GetDaysInYear(year, era));
        }
예제 #18
0
        public static void GetDaysInMonth(int year, int month, int era)
        {
            TaiwanCalendar calendar = new TaiwanCalendar();
            int            expected;

            if (calendar.IsLeapYear(year, era))
            {
                expected = s_daysPerMonthLeapYear[month];
            }
            else
            {
                expected = s_daysPerMonthCommonYear[month];
            }
            Assert.Equal(expected, calendar.GetDaysInMonth(year, month, era));
        }
        public void PosTest1()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand = new Random(-55);
            int    year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    era;

            bool isLeap = isLeapYear(year);

            for (int i = 0; i < tc.Eras.Length; i++)
            {
                era = tc.Eras[i];
                Assert.False(tc.IsLeapYear(year, era) ^ isLeap);
            }
        }
        public void PosTest1()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand = new Random(-55);
            int year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int month = rand.Next(1, 12);
            int day;
            if (tc.IsLeapYear(year))
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1);
            }
            else
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1);
            }

            DateTime dt = new DateTime(year, month, day);
            DayOfWeek actualDay = getDayOfWeek(dt);
            Assert.Equal(tc.GetDayOfWeek(dt), actualDay);
        }
        public void PosTest5()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand  = new Random(-55);
            int    year  = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    month = rand.Next(1, 12);
            int    day;

            if (tc.IsLeapYear(year))
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1);
            }
            else
            {
                day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1);
            }

            DateTime dt = tc.ToDateTime(year, month, day, 0, 0, 0, 0);
            int      i  = 0;

            VerificationHelper(dt, i);
        }
        public void PosTest1()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand  = new Random(-55);
            int    year  = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    month = rand.Next(1, 12);
            int    day;

            if (tc.IsLeapYear(year))
            {
                day = rand.Next(1, 30);
            }
            else
            {
                day = rand.Next(1, 29);
            }

            DateTime dt         = tc.ToDateTime(year, month, day, 0, 0, 0, 0);
            int      actualDays = dt.Day;

            Assert.Equal(tc.GetDayOfMonth(dt), actualDays);
        }
        public void PosTest1()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand = new Random(-55);
            int    year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    era;
            int    actualDays;

            if (tc.IsLeapYear(year))
            {
                actualDays = 366;
            }
            else
            {
                actualDays = 365;
            }

            for (int i = 0; i < tc.Eras.Length; i++)
            {
                era = tc.Eras[i];
                Assert.Equal(tc.GetDaysInYear(year, era), actualDays);
            }
        }
        public void PosTest4()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            DateTime dt   = new DateTime(2000, 12, 31);
            int      year = dt.Year;
            int      era;
            int      actualDays;

            if (tc.IsLeapYear(year))
            {
                actualDays = 366;
            }
            else
            {
                actualDays = 365;
            }

            for (int i = 0; i < tc.Eras.Length; i++)
            {
                era = tc.Eras[i];
                Assert.Equal(tc.GetDaysInYear(year, era), actualDays);
            }
        }
        public void PosTest4()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            DateTime dt    = new DateTime(2000, 12, 31);
            int      year  = dt.Year;
            int      month = dt.Month;
            int      era;
            int      actualDays;

            if (tc.IsLeapYear(year))
            {
                actualDays = _DAYS_PER_MONTHS_IN_LEAP_YEAR[month];
            }
            else
            {
                actualDays = _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month];
            }
            for (int i = 0; i < tc.Eras.Length; i++)
            {
                era = tc.Eras[i];
                Assert.Equal(tc.GetDaysInMonth(year, month, era), actualDays);
            }
        }
        public void PosTest1()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand  = new Random(-55);
            int    year  = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    month = rand.Next(1, 12);
            int    era;
            int    actualDays;

            if (tc.IsLeapYear(year))
            {
                actualDays = _DAYS_PER_MONTHS_IN_LEAP_YEAR[month];
            }
            else
            {
                actualDays = _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month];
            }

            for (int i = 0; i < tc.Eras.Length; i++)
            {
                era = tc.Eras[i];
                Assert.Equal(tc.GetDaysInMonth(year, month, era), actualDays);
            }
        }