def test_not_crossing_dst(self): # Test not crossing daylight savings time delta = datetime.timedelta(days=7) expected = self.dst_time + delta outcome = common_timezone.math(self.dst_time, operator.add, delta) self.assertEqual(expected.replace(tzinfo=None), outcome.replace(tzinfo=None)) self.assertTrue(common_timezone.is_daylight_savings_time(outcome))
def test_crossing_dst_keep_hour(self): # Test crossing daylight savings time delta = datetime.timedelta(days=180) expected = self.dst_time + delta outcome = common_timezone.math(self.dst_time, operator.add, delta, keep_hour=True) self.assertEqual(expected.replace(tzinfo=None), outcome.replace(tzinfo=None)) self.assertFalse(common_timezone.is_daylight_savings_time(outcome))
def test_crossing_dst_with_hour_delta(self): # Test crossing daylight savings time with delta that has an hour in it delta = datetime.timedelta(days=180, hours=2) expected = self.dst_time - delta outcome = common_timezone.math(self.dst_time, operator.sub, delta, keep_hour=True) self.assertEqual(expected.replace(tzinfo=None), outcome.replace(tzinfo=None)) self.assertFalse(common_timezone.is_daylight_savings_time(outcome))
def test_crossing_dst_default(self): # Test crossing daylight savings time, hour changes (default behaviour) delta = datetime.timedelta(days=180) expected = common_timezone.parse( '12/27/2014 23:00' ) # Would be 12/27/2014, but normalize subtracts an hour outcome = common_timezone.math(self.dst_time, operator.add, delta, keep_hour=False) self.assertEqual(expected.replace(tzinfo=None, hour=expected.hour), outcome.replace(tzinfo=None)) self.assertFalse(common_timezone.is_daylight_savings_time(outcome))
def test_non_dst_time(self): non_dst_time = common_timezone.now().replace(month=12) self.assertFalse( common_timezone.is_daylight_savings_time(non_dst_time))
def test_dst_time(self): dst_time = common_timezone.now().replace(month=7) self.assertTrue(common_timezone.is_daylight_savings_time(dst_time))