def test_get_week_boundaries(self): dates = [ # Week 1 datetime.date(2013, 9, 17), # Tuesday datetime.date(2013, 9, 18), # Wednesday datetime.date(2013, 9, 22), # Sunday # Week 2 datetime.date(2013, 9, 23), # Monday datetime.date(2013, 9, 25), # Wednesday datetime.date(2013, 9, 29), # Sunday # Week 3 datetime.date(2013, 9, 30), # Monday datetime.date(2013, 10, 2), # Wednesday datetime.date(2013, 10, 6), # Sunday ] expected_boundaries = [ # Week 1 (get_min_time(datetime.datetime(2013, 9, 16)), get_max_time(datetime.datetime(2013, 9, 22))), # Week 2 (get_min_time(datetime.datetime(2013, 9, 23)), get_max_time(datetime.datetime(2013, 9, 29))), # Week 3 (get_min_time(datetime.datetime(2013, 9, 30)), get_max_time(datetime.datetime(2013, 10, 6))), ] for index, date in enumerate(dates): if index <= 2: expected = expected_boundaries[0] elif index > 2 and index <= 5: expected = expected_boundaries[1] else: expected = expected_boundaries[2] boundaries = get_week_boundaries(date=date) self.assertEqual(expected, boundaries)
def test_get_month_boundaries(self): dates = [ # Month 1 datetime.date(2013, 9, 1), datetime.date(2013, 9, 18), datetime.date(2013, 9, 30), # Month 2 datetime.date(2013, 10, 1), datetime.date(2013, 10, 20), datetime.date(2013, 10, 28), # Month 3 datetime.date(2013, 12, 1), datetime.date(2013, 12, 20), datetime.date(2013, 12, 28), ] expected_boundaries = [ # Month 1 (get_min_time(datetime.datetime(2013, 9, 1)), get_max_time(datetime.datetime(2013, 9, 30))), # Month 2 (get_min_time(datetime.datetime(2013, 10, 1)), get_max_time(datetime.datetime(2013, 10, 31))), # Month 3 (get_min_time(datetime.datetime(2013, 12, 1)), get_max_time(datetime.datetime(2013, 12, 31))), ] for index, date in enumerate(dates): if index <= 2: expected = expected_boundaries[0] elif index > 2 and index <= 5: expected = expected_boundaries[1] else: expected = expected_boundaries[2] boundaries = get_month_boundaries(date=date) self.assertEqual(expected, boundaries)
def test_get_date_boundaries(self): dates = [ datetime.datetime(2013, 9, 17) ] expected_boundaries = [ (get_min_time(dates[0]), get_max_time(dates[0])) ] for index, date in enumerate(dates): expected = expected_boundaries[index] boundaries = get_date_boundaries(date=date) self.assertEqual(expected, boundaries)
def test_min_date(self): today = datetime.datetime.today() expected = today.replace(hour=0, minute=0, second=0, microsecond=0) actual = get_min_time(today) self.assertEqual(actual, expected)