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]); } } }
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"); }