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))