Test calendar.monthrange.

Closes issue 9342. Thanks John Chandler for the patch.
This commit is contained in:
Brett Cannon 2010-07-23 13:54:14 +00:00
parent b6ee4f5bfc
commit cfae36fa8e
2 changed files with 30 additions and 0 deletions

View File

@ -389,6 +389,34 @@ class TimegmTestCase(unittest.TestCase):
tuple = time.gmtime(secs)
self.assertEqual(secs, calendar.timegm(tuple))
class MonthRangeTestCase(unittest.TestCase):
def test_january(self):
# Tests valid lower boundary case.
self.assertEqual(calendar.monthrange(2004,1), (3,31))
def test_february_leap(self):
# Tests February during leap year.
self.assertEqual(calendar.monthrange(2004,2), (6,29))
def test_february_nonleap(self):
# Tests February in non-leap year.
self.assertEqual(calendar.monthrange(2010,2), (0,28))
def test_december(self):
# Tests valid upper boundary case.
self.assertEqual(calendar.monthrange(2004,12), (2,31))
def test_zeroth_month(self):
# Tests low invalid boundary case.
with self.assertRaises(calendar.IllegalMonthError):
calendar.monthrange(2004, 0)
def test_thirteenth_month(self):
# Tests high invalid boundary case.
with self.assertRaises(calendar.IllegalMonthError):
calendar.monthrange(2004, 13)
def test_main():
support.run_unittest(
OutputTestCase,
@ -396,6 +424,7 @@ def test_main():
MondayTestCase,
SundayTestCase,
TimegmTestCase,
MonthRangeTestCase,
)

View File

@ -129,6 +129,7 @@ Charles Cazabon
Per Cederqvist
Octavian Cerna
Pascal Chambon
John Chandler
Hye-Shik Chang
Jeffrey Chang
Mitch Chapman