[Python-checkins] r87592 - in python/branches/release27-maint: Lib/test/test_calendar.py Misc/ACKS

r.david.murray python-checkins at python.org
Fri Dec 31 20:31:48 CET 2010


Author: r.david.murray
Date: Fri Dec 31 20:31:48 2010
New Revision: 87592

Log:
Merged revisions 83089,87590 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83089 | brett.cannon | 2010-07-23 09:54:14 -0400 (Fri, 23 Jul 2010) | 4 lines
  
  Test calendar.monthrange.
  
  Closes issue 9342. Thanks John Chandler for the patch.
........
  r87590 | r.david.murray | 2010-12-31 14:21:14 -0500 (Fri, 31 Dec 2010) | 4 lines
  
  #9361: add some tests for calendar.leapdays
  
  Patch by John Chandler.
........


Modified:
   python/branches/release27-maint/   (props changed)
   python/branches/release27-maint/Lib/test/test_calendar.py
   python/branches/release27-maint/Misc/ACKS

Modified: python/branches/release27-maint/Lib/test/test_calendar.py
==============================================================================
--- python/branches/release27-maint/Lib/test/test_calendar.py	(original)
+++ python/branches/release27-maint/Lib/test/test_calendar.py	Fri Dec 31 20:31:48 2010
@@ -394,12 +394,62 @@
         self.check_weeks(1995, 12, (2, 7, 7, 7, 7, 1))
 
 
+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)
+
+class LeapdaysTestCase(unittest.TestCase):
+    def test_no_range(self):
+        # test when no range i.e. two identical years as args
+        self.assertEqual(calendar.leapdays(2010,2010), 0)
+
+    def test_no_leapdays(self):
+        # test when no leap years in range
+        self.assertEqual(calendar.leapdays(2010,2011), 0)
+
+    def test_no_leapdays_upper_boundary(self):
+        # test no leap years in range, when upper boundary is a leap year
+        self.assertEqual(calendar.leapdays(2010,2012), 0)
+
+    def test_one_leapday_lower_boundary(self):
+        # test when one leap year in range, lower boundary is leap year
+        self.assertEqual(calendar.leapdays(2012,2013), 1)
+
+    def test_several_leapyears_in_range(self):
+        self.assertEqual(calendar.leapdays(1997,2020), 5)
+
+
 def test_main():
     test_support.run_unittest(
         OutputTestCase,
         CalendarTestCase,
         MondayTestCase,
-        SundayTestCase
+        SundayTestCase,
+        MonthRangeTestCase,
+        LeapdaysTestCase,
     )
 
 

Modified: python/branches/release27-maint/Misc/ACKS
==============================================================================
--- python/branches/release27-maint/Misc/ACKS	(original)
+++ python/branches/release27-maint/Misc/ACKS	Fri Dec 31 20:31:48 2010
@@ -129,6 +129,7 @@
 Per Cederqvist
 Octavian Cerna
 Pascal Chambon
+John Chandler
 Hye-Shik Chang
 Jeffrey Chang
 Mitch Chapman


More information about the Python-checkins mailing list