def test_past_unsafe_input_datetime(): t = Timeout( datetime.datetime.fromisoformat(FREEZE_DATE) - datetime.timedelta(days=1), past_safe=False, ) assert t.is_expired()
def test_past_unsafe_input_int(): t = Timeout(-1000, past_safe=False) assert t.is_expired()
def test_expired_input_datetime(): t = Timeout( datetime.datetime.fromisoformat(FREEZE_DATE) + datetime.timedelta(seconds=10)) assert not t.is_expired() assert t.is_expired()
def test_expired_input_int(): t = Timeout(10000) assert not t.is_expired() assert t.is_expired()
def test_elapsed_input_datetime(): t = Timeout(datetime.datetime(2000, 1, 15, 0, 0, 10)) assert t.elapsed() == 5000 assert t.elapsed() == 10000
def test_elapsed_input_int(): t = Timeout(10000) assert t.elapsed() == 5000 assert t.elapsed() == 10000
def test_remaining_input_datetime(): t = Timeout(datetime.datetime(2000, 1, 15, 0, 0, 10)) assert t.remaining() == 5000 assert t.remaining() == 0
def test_elapsed_type(timeout): t = Timeout(timeout) assert isinstance(t.elapsed(), int)
def test_repr(timeout): t = Timeout(timeout) assert repr( t ) == f"<Timeout starts at: '{FREEZE_DATE}' and ends at: '{timeout}' ms>"
def test_reset_value_error(timeout): t = Timeout(1000) with pytest.raises(ValueError): t.reset(timeout)
def test_reset_type_error(timeout): t = Timeout(1000) with pytest.raises(TypeError): t.reset(timeout)
def test_value_error(timeout): with pytest.raises(ValueError): Timeout(timeout)
def test_type_error(timeout): with pytest.raises(TypeError): Timeout(timeout)
def test_is_expired_type(timeout): t = Timeout(timeout) assert isinstance(t.is_expired(), bool)
def test_remaining_input_int(): t = Timeout(10000) assert t.remaining() == 5000 assert t.remaining() == 0
def test_reset_and_set(): t = Timeout(10000) assert not t.is_expired() t.reset(5000) assert t.is_expired()
def test_remaining_type(timeout): t = Timeout(timeout) assert isinstance(t.remaining(), int)