summaryrefslogtreecommitdiff
path: root/Lib/test/datetimetester.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/datetimetester.py')
-rw-r--r--Lib/test/datetimetester.py97
1 files changed, 94 insertions, 3 deletions
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index af0047fafd..239a0b5ac8 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -6018,6 +6018,100 @@ class CapiTest(unittest.TestCase):
with self.subTest(arg=arg, exact=exact):
self.assertFalse(is_tzinfo(arg, exact))
+ def test_date_from_date(self):
+ exp_date = date(1993, 8, 26)
+
+ for macro in [0, 1]:
+ with self.subTest(macro=macro):
+ c_api_date = _testcapi.get_date_fromdate(
+ macro,
+ exp_date.year,
+ exp_date.month,
+ exp_date.day)
+
+ self.assertEqual(c_api_date, exp_date)
+
+ def test_datetime_from_dateandtime(self):
+ exp_date = datetime(1993, 8, 26, 22, 12, 55, 99999)
+
+ for macro in [0, 1]:
+ with self.subTest(macro=macro):
+ c_api_date = _testcapi.get_datetime_fromdateandtime(
+ macro,
+ exp_date.year,
+ exp_date.month,
+ exp_date.day,
+ exp_date.hour,
+ exp_date.minute,
+ exp_date.second,
+ exp_date.microsecond)
+
+ self.assertEqual(c_api_date, exp_date)
+
+ def test_datetime_from_dateandtimeandfold(self):
+ exp_date = datetime(1993, 8, 26, 22, 12, 55, 99999)
+
+ for fold in [0, 1]:
+ for macro in [0, 1]:
+ with self.subTest(macro=macro, fold=fold):
+ c_api_date = _testcapi.get_datetime_fromdateandtimeandfold(
+ macro,
+ exp_date.year,
+ exp_date.month,
+ exp_date.day,
+ exp_date.hour,
+ exp_date.minute,
+ exp_date.second,
+ exp_date.microsecond,
+ exp_date.fold)
+
+ self.assertEqual(c_api_date, exp_date)
+ self.assertEqual(c_api_date.fold, exp_date.fold)
+
+ def test_time_from_time(self):
+ exp_time = time(22, 12, 55, 99999)
+
+ for macro in [0, 1]:
+ with self.subTest(macro=macro):
+ c_api_time = _testcapi.get_time_fromtime(
+ macro,
+ exp_time.hour,
+ exp_time.minute,
+ exp_time.second,
+ exp_time.microsecond)
+
+ self.assertEqual(c_api_time, exp_time)
+
+ def test_time_from_timeandfold(self):
+ exp_time = time(22, 12, 55, 99999)
+
+ for fold in [0, 1]:
+ for macro in [0, 1]:
+ with self.subTest(macro=macro, fold=fold):
+ c_api_time = _testcapi.get_time_fromtimeandfold(
+ macro,
+ exp_time.hour,
+ exp_time.minute,
+ exp_time.second,
+ exp_time.microsecond,
+ exp_time.fold)
+
+ self.assertEqual(c_api_time, exp_time)
+ self.assertEqual(c_api_time.fold, exp_time.fold)
+
+ def test_delta_from_dsu(self):
+ exp_delta = timedelta(26, 55, 99999)
+
+ for macro in [0, 1]:
+ with self.subTest(macro=macro):
+ c_api_delta = _testcapi.get_delta_fromdsu(
+ macro,
+ exp_delta.days,
+ exp_delta.seconds,
+ exp_delta.microseconds)
+
+ self.assertEqual(c_api_delta, exp_delta)
+
def test_date_from_timestamp(self):
ts = datetime(1995, 4, 12).timestamp()
@@ -6028,9 +6122,6 @@ class CapiTest(unittest.TestCase):
self.assertEqual(d, date(1995, 4, 12))
def test_datetime_from_timestamp(self):
- ts0 = datetime(1995, 4, 12).timestamp()
- ts1 = datetime(1995, 4, 12, 12, 30).timestamp()
-
cases = [
((1995, 4, 12), None, False),
((1995, 4, 12), None, True),