def test_parse_runtime_limit_times_only(self): """dateutils - parse runtime using just a time range""" limit = '06:00-18:00' day = datetime.date.today() now = datetime.time() present_from = datetime.datetime.combine(day, now.replace(hour=6)) present_to = datetime.datetime.combine(day, now.replace(hour=18)) future_from = present_from + datetime.timedelta(days=1) future_to = present_to + datetime.timedelta(days=1) expected = ( (time.mktime(present_from.timetuple()), time.mktime(present_to.timetuple())), (time.mktime(future_from.timetuple()), time.mktime(future_to.timetuple())), ) result = dateutils.parse_runtime_limit(limit) self.assertEqual(expected, result)
def test_parse_runtime_limit_day_abbr_only(self): """dateutils - parse runtime using just a weekday abbreviation""" limit = 'Tue' day = datetime.date.today() now = datetime.time() while day.weekday() != calendar.TUESDAY: day -= datetime.timedelta(1) present_from = datetime.datetime.combine(day, now.replace(hour=0)) present_to = present_from + datetime.timedelta(days=1) future_from = present_from + datetime.timedelta(days=7) future_to = present_to + datetime.timedelta(days=7) expected = ( (time.mktime(present_from.timetuple()), time.mktime(present_to.timetuple())), (time.mktime(future_from.timetuple()), time.mktime(future_to.timetuple())), ) result = dateutils.parse_runtime_limit(limit) self.assertEqual(expected, result)
def test_parse_runtime_limit_day_plus_times(self): """dateutils - parse runtime using a weekday plus a time range""" limit = 'Thursday 18:00-22:00' day = datetime.date.today() now = datetime.time() while day.weekday() != calendar.THURSDAY: day -= datetime.timedelta(1) present_from = datetime.datetime.combine(day, now.replace(hour=18)) present_to = datetime.datetime.combine(day, now.replace(hour=22)) future_from = present_from + datetime.timedelta(days=7) future_to = present_to + datetime.timedelta(days=7) expected = ( (time.mktime(present_from.timetuple()), time.mktime(present_to.timetuple())), (time.mktime(future_from.timetuple()), time.mktime(future_to.timetuple())), ) result = dateutils.parse_runtime_limit(limit) self.assertEqual(expected, result)