@@ -277,9 +277,49 @@ def test_start_of_with_transition():
277277 assert d .start_of ("year" ).offset == 3600
278278
279279
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+
280300def test_end_of_with_transition ():
281301 d = pendulum .datetime (2013 , 3 , 31 , tz = "Europe/Paris" )
282302 assert d .offset == 3600
283303 assert d .end_of ("month" ).offset == 7200
284304 assert d .end_of ("day" ).offset == 7200
285305 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