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