Пример #1
0
        public void testBusinessDaysBetween()
        {
            //BOOST_MESSAGE("Testing calculation of business days between dates...");

            List<Date> testDates = new List<Date>();
            testDates.Add(new Date(1,Month.February,2002));
            testDates.Add(new Date(4,Month.February,2002));
            testDates.Add(new Date(16,Month.May,2003));
            testDates.Add(new Date(17,Month.December,2003));
            testDates.Add(new Date(17,Month.December,2004));
            testDates.Add(new Date(19,Month.December,2005));
            testDates.Add(new Date(2,Month.January,2006));
            testDates.Add(new Date(13,Month.March,2006));
            testDates.Add(new Date(15,Month.May,2006));
            testDates.Add(new Date(17,Month.March,2006));
            testDates.Add(new Date(15,Month.May,2006));
            testDates.Add(new Date(26,Month.July,2006));

            long[] expected = {
                1,
                321,
                152,
                251,
                252,
                10,
                48,
                42,
                -38,
                38,
                51
            };

            Calendar calendar = new Brazil();

            for (int i=1; i<testDates.Count; i++) {
                int calculated = calendar.businessDaysBetween(testDates[i-1], testDates[i]);
                if (calculated != expected[i-1]) {
                    Assert.Fail("from " + testDates[i-1]
                                + " to " + testDates[i] + ":\n"
                                + "    calculated: " + calculated + "\n"
                                + "    expected:   " + expected[i-1]);
                }
            }
        }
Пример #2
0
        public void testBrazil()
        {
            //BOOST_MESSAGE("Testing Brazil holiday list...");

            List<Date> expectedHol = new List<Date>();

            //expectedHol.Add(new Date(1,January,2005)); // Saturday
            expectedHol.Add(new Date(7,Month.February,2005));
            expectedHol.Add(new Date(8,Month.February,2005));
            expectedHol.Add(new Date(25,Month.March,2005));
            expectedHol.Add(new Date(21,Month.April,2005));
            //expectedHol.Add(new Date(1,May,2005)); // Sunday
            expectedHol.Add(new Date(26,Month.May,2005));
            expectedHol.Add(new Date(7,Month.September,2005));
            expectedHol.Add(new Date(12,Month.October,2005));
            expectedHol.Add(new Date(2,Month.November,2005));
            expectedHol.Add(new Date(15,Month.November,2005));
            //expectedHol.Add(new Date(25,December,2005)); // Sunday

            //expectedHol.Add(new Date(1,January,2006)); // Sunday
            expectedHol.Add(new Date(27,Month.February,2006));
            expectedHol.Add(new Date(28,Month.February,2006));
            expectedHol.Add(new Date(14,Month.April,2006));
            expectedHol.Add(new Date(21,Month.April,2006));
            expectedHol.Add(new Date(1,Month.May,2006));
            expectedHol.Add(new Date(15,Month.June,2006));
            expectedHol.Add(new Date(7,Month.September,2006));
            expectedHol.Add(new Date(12,Month.October,2006));
            expectedHol.Add(new Date(2,Month.November,2006));
            expectedHol.Add(new Date(15,Month.November,2006));
            expectedHol.Add(new Date(25,Month.December,2006));

            Calendar c = new Brazil();
            List<Date> hol = Calendar.holidayList(c, new Date(1,Month.January,2005), new Date(31,Month.December,2006));
            for (int i=0; i<Math.Min(hol.Count, expectedHol.Count); i++) {
                if (hol[i]!=expectedHol[i])
                    Assert.Fail("expected holiday was " + expectedHol[i]
                               + " while calculated holiday is " + hol[i]);
            }
            if (hol.Count!=expectedHol.Count)
                Assert.Fail("there were " + expectedHol.Count
                           + " expected holidays, while there are " + hol.Count
                           + " calculated holidays");
        }