1from PyObjCTools.TestSupport import *
2from Foundation import *
3
4class TestNSCalendarDate (TestCase):
5    def testOutput(self):
6        obj = NSCalendarDate.dateWithYear_month_day_hour_minute_second_timeZone_(
7                2008, 12, 5, 14, 15, 16, NSTimeZone.systemTimeZone())
8        obj2 = NSCalendarDate.dateWithYear_month_day_hour_minute_second_timeZone_(
9                2007, 9, 8, 19, 12, 10, NSTimeZone.systemTimeZone())
10
11        m = obj.years_months_days_hours_minutes_seconds_sinceDate_.__metadata__()
12        self.assertTrue(m['arguments'][2]['type'].startswith(b'o^'))
13        self.assertTrue(m['arguments'][3]['type'].startswith(b'o^'))
14        self.assertTrue(m['arguments'][4]['type'].startswith(b'o^'))
15        self.assertTrue(m['arguments'][5]['type'].startswith(b'o^'))
16        self.assertTrue(m['arguments'][6]['type'].startswith(b'o^'))
17        self.assertTrue(m['arguments'][7]['type'].startswith(b'o^'))
18
19        years, months, days, hours, minutes, seconds = obj.years_months_days_hours_minutes_seconds_sinceDate_(None, None, None, None, None, None, obj2)
20        self.assertEqual(years, 1)
21        self.assertEqual(months, 2)
22        self.assertEqual(days, 26)
23        self.assertEqual(hours, 19)
24        self.assertEqual(minutes, 3)
25        self.assertEqual(seconds, 6)
26
27if __name__ == "__main__":
28    main()
29