@@ -276,10 +276,45 @@ def test_start_of_with_transition():
276
276
assert d .start_of ("day" ).offset == 7200
277
277
assert d .start_of ("year" ).offset == 3600
278
278
279
+ def test_start_of_on_date_before_transition ():
280
+ d = pendulum .datetime (2013 , 10 , 27 , 0 , 59 , 59 , tz = "UTC" ).in_timezone ("Europe/Paris" )
281
+ assert d .offset == 7200
282
+ assert d .start_of ("minute" ).offset == 7200
283
+ assert d .start_of ("hour" ).offset == 7200
284
+ assert d .start_of ("day" ).offset == 7200
285
+ assert d .start_of ("month" ).offset == 7200
286
+ assert d .start_of ("year" ).offset == 3600
287
+
288
+ def test_start_of_on_date_after_transition ():
289
+ d = pendulum .datetime (2013 , 10 , 27 , 1 , 59 , 59 , tz = "UTC" ).in_timezone ("Europe/Paris" )
290
+ assert d .offset == 3600
291
+ assert d .start_of ("minute" ).offset == 3600
292
+ assert d .start_of ("hour" ).offset == 3600
293
+ assert d .start_of ("day" ).offset == 7200
294
+ assert d .start_of ("month" ).offset == 7200
295
+ assert d .start_of ("year" ).offset == 3600
279
296
280
297
def test_end_of_with_transition ():
281
298
d = pendulum .datetime (2013 , 3 , 31 , tz = "Europe/Paris" )
282
299
assert d .offset == 3600
283
300
assert d .end_of ("month" ).offset == 7200
284
301
assert d .end_of ("day" ).offset == 7200
285
302
assert d .end_of ("year" ).offset == 3600
303
+
304
+ def test_end_of_on_date_before_transition ():
305
+ d = pendulum .datetime (2013 , 10 , 27 , 0 , 0 , 0 , tz = "UTC" ).in_timezone ("Europe/Paris" )
306
+ assert d .offset == 7200
307
+ assert d .end_of ("minute" ).offset == 7200
308
+ assert d .end_of ("hour" ).offset == 7200
309
+ assert d .end_of ("day" ).offset == 3600
310
+ assert d .end_of ("month" ).offset == 3600
311
+ assert d .end_of ("year" ).offset == 3600
312
+
313
+ def test_end_of_on_date_after_transition ():
314
+ d = pendulum .datetime (2013 , 10 , 27 , 1 , 0 , 0 , tz = "UTC" ).in_timezone ("Europe/Paris" )
315
+ assert d .offset == 3600
316
+ assert d .end_of ("minute" ).offset == 3600
317
+ assert d .end_of ("hour" ).offset == 3600
318
+ assert d .end_of ("day" ).offset == 3600
319
+ assert d .end_of ("month" ).offset == 3600
320
+ assert d .end_of ("year" ).offset == 3600
0 commit comments