def test_single_relative_time_wrt_now(self): relative_times = """\ 1y 1 y 1 year 2 years 1m 1 m 1 month 2 months 1w 1 w 1 week 2 weeks 1d 1 d 1 day 2 days 1h 1 h 1 hour 2 hours 1min 1 min 1 minute 1 minutes 1s 1 s 1 second 2 seconds""".splitlines() for relative_time in relative_times: time_expression.parseString(relative_time)
def test_multi_relative_time_years(self): parsed_time = time_expression.parseString("test 1y2m").time ok_(parsed_time == (EPOCH_DT + relativedelta(years=1, months=2))) parsed_time = time_expression.parseString("test 10y2m3w1d23h4min").time ok_(parsed_time == (EPOCH_DT + relativedelta( years=10, months=2, weeks=3, days=1, hours=23, minutes=4)))
def test_multi_relative_time_years(self): parsed_time = time_expression.parseString("test 1y2m").time ok_(parsed_time == (EPOCH_DT + relativedelta(years=1, months=2))) parsed_time = time_expression.parseString("test 10y2m3w1d23h4min").time ok_(parsed_time == (EPOCH_DT + relativedelta(years=10, months=2, weeks=3, days=1, hours=23, minutes=4)))
def test_specific_twelve_hour_clock_time(self): times = """\ 12.12 am 11.10 pm 12 pm 12.15 am""".splitlines() for time in times: time_expression.parseString(time)
def test_specific_military_time(self): times = """\ 2359 0100 0210 0321 0700""".splitlines() for time in times: time_expression.parseString(time)
def test_specific_military_time(self): expected_date = datetime.date.today() parsed_time = time_expression.parseString("2359") expected_time = datetime.time(hour=23, minute=59) expected_datetime = datetime.datetime.combine(expected_date, expected_time) ok_(parsed_time["time"] == expected_datetime) parsed_time = time_expression.parseString("0001") expected_time = datetime.time(hour=0, minute=1) expected_datetime = datetime.datetime.combine(expected_date, expected_time) ok_(parsed_time["time"] == expected_datetime)
def test_single_relative_time_years(self): years_1 = """\ test 1y test 1 y test 1 year""".splitlines() for year_1 in years_1: parsed_time = time_expression.parseString(year_1).time ok_(parsed_time == (EPOCH_DT + relativedelta(years=1)))
def test_day_with_twelve_hour_clock_time(self): times = """\ mon at 12.10 pm monday at 12.10 am tue ! 11.10 pm tuesday at 11.10 PM wed at 12 AM wednesday ! 12 PM thu at 12.15 AM thursday ! 12.15 Pm fri at 4.30 AM friday at 4.30 am sat ! 10.03 pM saturday at 10.03 AM sun at 4.20 AM sunday ! 4.20 am""".splitlines() for time in times: time_expression.parseString(time)
def test_day(self): times = """\ mon monday tue tuesday wed wednesday thu thursday fri friday sat saturday sun sunday""".splitlines() for time in times: time_expression.parseString(time)
def test_day_with_military_time(self): times = """\ mon at 2359 monday at 2359 tue ! 0100 tuesday at 0100 wed at 0213 wednesday ! 0213 thu at 1806 thursday ! 1806 fri at 0430 friday at 0430 sat ! 1003 saturday at 1003 sun at 0420 sunday ! 0420""".splitlines() for time in times: time_expression.parseString(time)
def test_specific_twelve_hour_time(self): expected_date = datetime.date.today() parsed_time = time_expression.parseString("12.15 AM") expected_time = datetime.time(hour=0, minute=15) expected_datetime = datetime.datetime.combine(expected_date, expected_time) ok_(parsed_time["time"] == expected_datetime) parsed_time = time_expression.parseString("4.20 pm") expected_time = datetime.time(hour=16, minute=20) expected_datetime = datetime.datetime.combine(expected_date, expected_time) ok_(parsed_time["time"] == expected_datetime) parsed_time = time_expression.parseString("12.58 PM") expected_time = datetime.time(hour=12, minute=58) expected_datetime = datetime.datetime.combine(expected_date, expected_time) ok_(parsed_time["time"] == expected_datetime)
def test_day_invalid_day_grammar_repeating(self): time_expression.parseString("TueTue")
def test_multi_relative_time_wrt_now(self): relative_times = """\ 1y1m1d1h1min1s 1year1m1d1h1min1s""".splitlines() for relative_time in relative_times: time_expression.parseString(relative_time)
def test_daytime_invalid_time_grammar(self): time_expression.parseString("Tue ! 30001")
def test_day_invalid_day_grammar_almost_complete(self): time_expression.parseString("Monda")