Commit cfae36fa authored by Brett Cannon's avatar Brett Cannon

Test calendar.monthrange.

Closes issue 9342. Thanks John Chandler for the patch.
parent b6ee4f5b
......@@ -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,
)
......
......@@ -129,6 +129,7 @@ Charles Cazabon
Per Cederqvist
Octavian Cerna
Pascal Chambon
John Chandler
Hye-Shik Chang
Jeffrey Chang
Mitch Chapman
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment