def test_15_minute_2(self): dt = datetime(2013, 4, 5, 2, 15) period = 'minute-15' expected_result = datetime(2013, 4, 5, 2, 15) result = datetime_utils.round_datetime(dt, period) self.assertEqual(result, expected_result)
def test_week2(self): dt = datetime(2013, 4, 6, 2, 33) period = 'week' expected_result = datetime(2013, 4, 8, 0, 0) result = datetime_utils.round_datetime(dt, period) self.assertEqual(result, expected_result)
def test_day(self): dt = datetime(2013, 4, 5, 2, 33) period = 'day' expected_result = datetime(2013, 4, 5, 0, 0) result = datetime_utils.round_datetime(dt, period) self.assertEqual(result, expected_result)
def test_force_day_tz(self): dt = datetime(2013, 4, 5, 20, 0) period = 'day' expected_result = datetime(2013, 4, 6, 7, 0) result = datetime_utils.round_datetime(dt, period, tzinfo=self.tz, force=True) self.assertEqual(result, expected_result)
def test_hour_tz_30(self): dt = datetime(2013, 4, 5, 18, 30) period = 'hour' expected_result = datetime(2013, 4, 5, 18, 30) result = datetime_utils.round_datetime(dt, period, tzinfo=self.tz_30) self.assertEqual(result, expected_result)
def test_week_tz_1(self): dt = datetime(2013, 3, 31, 2, 33) period = 'week' expected_result = datetime(2013, 4, 1, 7, 0) result = datetime_utils.round_datetime(dt, period, tzinfo=self.tz) self.assertEqual(result, expected_result)
def test_day_tz_before_transition(self): dt = self.tz.normalize(datetime(2015, 3, 8, 8, tzinfo=pytz.UTC)) period = 'day' expected_result = dt result = datetime_utils.round_datetime(dt, period, tzinfo=self.tz) self.assertEqual(result, expected_result)
def test_day_tz_3(self): dt = datetime(2013, 4, 5, 19, 33) period = 'day' expected_result = datetime(2013, 4, 6, 7, 0) result = datetime_utils.round_datetime(dt, period, tzinfo=self.tz) self.assertEqual(result, expected_result)
def test_minute2(self): dt = datetime(2013, 4, 5, 2, 33, 25) period = 'minute' expected_result = datetime(2013, 4, 5, 2, 33) result = datetime_utils.round_datetime(dt, period) self.assertEqual(result, expected_result)
def test_day_tz_13(self): dt = datetime(2013, 3, 5, 19, 33, tzinfo=pytz.UTC) period = 'day' expected_result = datetime(2013, 3, 6, 8, 0, tzinfo=pytz.UTC) result = datetime_utils.round_datetime(dt, period, tzinfo=self.tz) self.assertEqual(result, expected_result)
def test_force_day(self): dt = datetime(2013, 4, 5, 20) period = 'day' expected_result = datetime(2013, 4, 6, 0, 0) result = datetime_utils.round_datetime(dt, period, force=True) self.assertEqual(result, expected_result)
def test_day_tz_after_transition(self): dt = self.tz.normalize(datetime(2015, 3, 8, 23, tzinfo=pytz.UTC)) period = 'day' expected_result = self.tz.normalize(datetime(2015, 3, 9, 7, tzinfo=pytz.UTC)) result = datetime_utils.round_datetime(dt, period, tzinfo=self.tz) self.assertEqual(result, expected_result)
def test_force_hour(self): dt = datetime(2013, 4, 5, 2, 33) period = 'hour' expected_result = datetime(2013, 4, 5, 3, 0) result = datetime_utils.round_datetime(dt, period, force=True) self.assertEqual(result, expected_result)
def test_unrecognized_period(self): dt = datetime(2015, 3, 1, 4, 1) with self.assertRaises(Exception): datetime_utils.round_datetime(dt, None)