def test_extract_time_return_value_for_no_fallback_minutes(self): """ Test the return for numerical expressions without fallback minutes. Should return None and None. """ test_args = ("10", "hello") test_expression = time.extract_time(test_args, fallback_minutes=False) self.assertEqual(test_expression, (None, None))
def test_extract_time_returns_none_none_with_invalid_time_expression(self): """ Test the return value for an invalid time expression. Should return None and None. """ test_args = ("hello", "minutes") test_expression = time.extract_time(test_args) self.assertEqual(test_expression, (None, None))
def test_extract_time_return_value_for_1_hour_singular(self): """ Test the return value for ("1", "hour"). Should return a one hour timedelta and a datetime object. """ test_args = ("1", "hour") (first, second) = time.extract_time(test_args) should_be = datetime.timedelta(hours=1) self.assertEqual(first, should_be) self.assertTrue(isinstance(second, datetime.datetime))
def test_extract_time_return_value_for_2_minutes_plural(self): """ Test the return value for ("2", "minutes"). Should return a two minute timedelta and a datetime object. """ test_args = ("2", "minutes") (first, second) = time.extract_time(test_args) should_be = datetime.timedelta(minutes=2) self.assertEqual(first, should_be) self.assertTrue(isinstance(second, datetime.datetime))
def test_extract_time_return_value_for_negative_numbers(self): """ Test the return value for negative numbers. Should return a -730 day timedelta and a datetime object. """ test_args = ("-2", "years") (first, second) = time.extract_time(test_args) should_be = datetime.timedelta(days=-730) self.assertEqual(first, should_be) self.assertTrue(isinstance(second, datetime.datetime))
def test_extract_time_return_value_for_absurdly_high_numbers(self): """ Test the return value for numbers so high the datetime overflows. Should return a timedelta and datetime.datetime.max. """ test_args = ("9999999999999999", "years") (first, second) = time.extract_time(test_args) should_be = datetime.datetime.max self.assertTrue(isinstance(first, datetime.timedelta)) self.assertEqual(second, should_be)
def test_extract_time_return_value_for_fallback_minutes(self): """ Test the return for numerical expressions without fallback minutes. Should return None and None. """ test_args = ("10", "hello") (first, second) = time.extract_time(test_args, fallback_minutes=True) should_be = datetime.timedelta(minutes=10) self.assertEqual(first, should_be) self.assertTrue(isinstance(second, datetime.datetime))
def test_extract_time_return_value_for_1_month_singular(self): """ Test the return value for ("1", "month"). Should return a 30 day timedelta and a datetime object. """ test_args = ("1", "month") (first, second) = time.extract_time(test_args) should_be = datetime.timedelta(days=30) self.assertEqual(first, should_be) self.assertTrue(isinstance(second, datetime.datetime))
def test_extract_time_return_value_for_multiple_units(self): """ Test the return value for a compound time statement. Input is ("3", "days", "2", "seconds", "1", "year"). Should return a 368 day + 2 second timedelta and a datetime object. """ test_args = ("3", "days", "2", "seconds", "1", "year") (first, second) = time.extract_time(test_args) should_be = datetime.timedelta(days=368, seconds=2) self.assertEqual(first, should_be) self.assertTrue(isinstance(second, datetime.datetime))
def test_extract_time_return_value_for_1_minute_singular(): """ Test the return value for ("1", "minute"). Should return a one minute timedelta and a datetime object. """ test_args = ("1", "minute") (first, second) = time.extract_time(test_args) should_be = datetime.timedelta(minutes=1) test = first == should_be assert test test = isinstance(second, datetime.datetime) assert test
def test_extract_time_return_value_for_2_seconds_plural(): """ Test the return value for ("2", "seconds"). Should return a two second timedelta and a datetime object. """ test_args = ("2", "seconds") (first, second) = time.extract_time(test_args) should_be = datetime.timedelta(seconds=2) test = first == should_be assert test test = isinstance(second, datetime.datetime) assert test
def test_extract_time_return_value_for_absurdly_high_numbers(): """ Test the return value for numbers so high the datetime overflows. Should return a timedelta and datetime.datetime.max. """ test_args = ("9999999999999999", "years") (first, second) = time.extract_time(test_args) should_be = datetime.datetime.max test = second == should_be assert test test = isinstance(first, datetime.timedelta) assert test
def test_extract_time_return_value_for_1_year_singular(): """ Test the return value for ("1", "year"). Should return a 365 day timedelta and a datetime object. """ test_args = ("1", "year") (first, second) = time.extract_time(test_args) should_be = datetime.timedelta(days=365) test = first == should_be assert test test = isinstance(second, datetime.datetime) assert test