@@ -1109,27 +1109,31 @@ class TestApproxDatetime:
11091109 """Tests for datetime/timedelta support in approx (issue #8395)."""
11101110
11111111 def test_datetime_exactly_equal (self ):
1112- from datetime import datetime , timedelta
1112+ from datetime import datetime
1113+ from datetime import timedelta
11131114
11141115 dt = datetime (2024 , 1 , 1 , 12 , 0 , 0 )
11151116 assert dt == approx (dt , abs = timedelta (seconds = 1 ))
11161117
11171118 def test_datetime_within_tolerance (self ):
1118- from datetime import datetime , timedelta
1119+ from datetime import datetime
1120+ from datetime import timedelta
11191121
11201122 dt1 = datetime (2024 , 1 , 1 , 12 , 0 , 0 )
11211123 dt2 = datetime (2024 , 1 , 1 , 12 , 0 , 0 , 500000 ) # +0.5s
11221124 assert dt1 == approx (dt2 , abs = timedelta (seconds = 1 ))
11231125
11241126 def test_datetime_outside_tolerance (self ):
1125- from datetime import datetime , timedelta
1127+ from datetime import datetime
1128+ from datetime import timedelta
11261129
11271130 dt1 = datetime (2024 , 1 , 1 , 12 , 0 , 0 )
11281131 dt2 = datetime (2024 , 1 , 1 , 12 , 0 , 2 ) # +2s
11291132 assert dt1 != approx (dt2 , abs = timedelta (seconds = 1 ))
11301133
11311134 def test_datetime_negative_difference (self ):
1132- from datetime import datetime , timedelta
1135+ from datetime import datetime
1136+ from datetime import timedelta
11331137
11341138 dt1 = datetime (2024 , 1 , 1 , 12 , 0 , 1 )
11351139 dt2 = datetime (2024 , 1 , 1 , 12 , 0 , 0 ) # dt2 < dt1
@@ -1157,7 +1161,8 @@ def test_requires_abs(self):
11571161 approx (datetime (2024 , 1 , 1 ))
11581162
11591163 def test_rejects_rel (self ):
1160- from datetime import datetime , timedelta
1164+ from datetime import datetime
1165+ from datetime import timedelta
11611166
11621167 with pytest .raises (TypeError , match = "does not support relative tolerance" ):
11631168 approx (datetime (2024 , 1 , 1 ), rel = 0.1 , abs = timedelta (seconds = 1 ))
@@ -1169,13 +1174,15 @@ def test_abs_must_be_timedelta(self):
11691174 approx (datetime (2024 , 1 , 1 ), abs = 1.0 )
11701175
11711176 def test_rejects_nan_ok (self ):
1172- from datetime import datetime , timedelta
1177+ from datetime import datetime
1178+ from datetime import timedelta
11731179
11741180 with pytest .raises (TypeError , match = "does not support nan_ok" ):
11751181 approx (datetime (2024 , 1 , 1 ), abs = timedelta (seconds = 1 ), nan_ok = True )
11761182
11771183 def test_datetime_repr (self ):
1178- from datetime import datetime , timedelta
1184+ from datetime import datetime
1185+ from datetime import timedelta
11791186
11801187 dt = datetime (2024 , 1 , 1 , 12 , 0 , 0 )
11811188 result = repr (approx (dt , abs = timedelta (seconds = 1 )))
@@ -1191,8 +1198,9 @@ def test_timedelta_repr(self):
11911198 assert "0:00:01" in result # 1 second tolerance
11921199
11931200 def test_datetime_symmetry (self ):
1194- """approx comparison should work on both sides of ==."""
1195- from datetime import datetime , timedelta
1201+ """Approx comparison should work on both sides of ==."""
1202+ from datetime import datetime
1203+ from datetime import timedelta
11961204
11971205 dt1 = datetime (2024 , 1 , 1 , 12 , 0 , 0 )
11981206 dt2 = datetime (2024 , 1 , 1 , 12 , 0 , 0 , 500000 )
@@ -1201,7 +1209,8 @@ def test_datetime_symmetry(self):
12011209 assert approx (dt2 , abs = tol ) == dt1
12021210
12031211 def test_datetime_ne_operator (self ):
1204- from datetime import datetime , timedelta
1212+ from datetime import datetime
1213+ from datetime import timedelta
12051214
12061215 dt1 = datetime (2024 , 1 , 1 , 12 , 0 , 0 )
12071216 dt2 = datetime (2024 , 1 , 1 , 12 , 0 , 5 )
@@ -1210,15 +1219,18 @@ def test_datetime_ne_operator(self):
12101219 assert not (dt1 == approx (dt2 , abs = tol ))
12111220
12121221 def test_datetime_with_timezone (self ):
1213- from datetime import datetime , timedelta , timezone
1222+ from datetime import datetime
1223+ from datetime import timedelta
1224+ from datetime import timezone
12141225
12151226 tz = timezone .utc
12161227 dt1 = datetime (2024 , 1 , 1 , 12 , 0 , 0 , tzinfo = tz )
12171228 dt2 = datetime (2024 , 1 , 1 , 12 , 0 , 0 , 500000 , tzinfo = tz )
12181229 assert dt1 == approx (dt2 , abs = timedelta (seconds = 1 ))
12191230
12201231 def test_datetime_error_message (self ):
1221- from datetime import datetime , timedelta
1232+ from datetime import datetime
1233+ from datetime import timedelta
12221234
12231235 dt1 = datetime (2024 , 1 , 1 , 12 , 0 , 0 )
12241236 dt2 = datetime (2024 , 1 , 1 , 12 , 0 , 5 ) # 5 seconds off
@@ -1234,29 +1246,33 @@ def test_timedelta_zero(self):
12341246
12351247 def test_datetime_boundary_exact (self ):
12361248 """Test that values exactly at the tolerance boundary are equal."""
1237- from datetime import datetime , timedelta
1249+ from datetime import datetime
1250+ from datetime import timedelta
12381251
12391252 dt1 = datetime (2024 , 1 , 1 , 12 , 0 , 0 )
12401253 dt2 = datetime (2024 , 1 , 1 , 12 , 0 , 1 ) # exactly 1 second
12411254 assert dt1 == approx (dt2 , abs = timedelta (seconds = 1 ))
12421255
12431256 def test_datetime_microsecond_tolerance (self ):
1244- from datetime import datetime , timedelta
1257+ from datetime import datetime
1258+ from datetime import timedelta
12451259
12461260 dt1 = datetime (2024 , 1 , 1 , 12 , 0 , 0 , 0 )
12471261 dt2 = datetime (2024 , 1 , 1 , 12 , 0 , 0 , 100 ) # +100 microseconds
12481262 assert dt1 == approx (dt2 , abs = timedelta (microseconds = 200 ))
12491263 assert dt1 != approx (dt2 , abs = timedelta (microseconds = 50 ))
12501264
12511265 def test_bool_context_raises (self ):
1252- from datetime import datetime , timedelta
1266+ from datetime import datetime
1267+ from datetime import timedelta
12531268
12541269 with pytest .raises (AssertionError , match = "boolean context" ):
12551270 bool (approx (datetime (2024 , 1 , 1 ), abs = timedelta (seconds = 1 )))
12561271
12571272 def test_wrong_type_comparison (self ):
12581273 """Comparing a datetime approx with a non-datetime should return False."""
1259- from datetime import datetime , timedelta
1274+ from datetime import datetime
1275+ from datetime import timedelta
12601276
12611277 assert 42 != approx (datetime (2024 , 1 , 1 ), abs = timedelta (seconds = 1 ))
12621278 assert "string" != approx (datetime (2024 , 1 , 1 ), abs = timedelta (seconds = 1 ))
0 commit comments