1from PyObjCTools.TestSupport import *
2
3from Foundation import *
4import Foundation
5
6
7class TestNSCalendar (TestCase):
8    def testConstants(self):
9        self.assertEqual( NSEraCalendarUnit, kCFCalendarUnitEra)
10        self.assertEqual( NSYearCalendarUnit, kCFCalendarUnitYear)
11        self.assertEqual( NSMonthCalendarUnit, kCFCalendarUnitMonth)
12        self.assertEqual( NSDayCalendarUnit, kCFCalendarUnitDay)
13        self.assertEqual( NSHourCalendarUnit, kCFCalendarUnitHour)
14        self.assertEqual( NSMinuteCalendarUnit, kCFCalendarUnitMinute)
15        self.assertEqual( NSSecondCalendarUnit, kCFCalendarUnitSecond)
16        self.assertEqual( NSWeekCalendarUnit, kCFCalendarUnitWeek)
17        self.assertEqual( NSWeekdayCalendarUnit, kCFCalendarUnitWeekday)
18        self.assertEqual( NSWeekdayOrdinalCalendarUnit, kCFCalendarUnitWeekdayOrdinal)
19
20        self.assertEqual( NSWrapCalendarComponents, kCFCalendarComponentsWrap)
21
22        self.assertEqual( NSUndefinedDateComponent, NSIntegerMax)
23
24    @min_os_level('10.6')
25    def testConstants10_6(self):
26        self.assertEqual( NSQuarterCalendarUnit, kCFCalendarUnitQuarter)
27
28    @min_os_level('10.7')
29    def testConstants10_7(self):
30        self.assertEqual(NSWeekOfMonthCalendarUnit, kCFCalendarUnitWeekOfMonth)
31        self.assertEqual(NSWeekOfYearCalendarUnit, kCFCalendarUnitWeekOfYear)
32        self.assertEqual(NSYearForWeekOfYearCalendarUnit, kCFCalendarUnitYearForWeekOfYear)
33        self.assertEqual(NSCalendarCalendarUnit, (1 << 20))
34        self.assertEqual(NSTimeZoneCalendarUnit, (1 << 21))
35
36
37    @min_os_level('10.5')
38    def testMethods10_5(self):
39        obj = NSCalendar.currentCalendar()
40
41        self.assertResultIsBOOL(NSCalendar.rangeOfUnit_startDate_interval_forDate_)
42        self.assertArgIsOut(NSCalendar.rangeOfUnit_startDate_interval_forDate_, 1)
43        self.assertArgIsOut(NSCalendar.rangeOfUnit_startDate_interval_forDate_, 2)
44
45    @min_os_level('10.8')
46    def testMethods10_8(self):
47        self.assertResultIsBOOL(NSDateComponents.isLeapMonth)
48        self.assertArgIsBOOL(NSDateComponents.setLeapMonth_, 0)
49
50if __name__ == "__main__":
51    main()
52