Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 1 addition & 22 deletions src/problems/inside_test/fibonacci_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,27 +44,6 @@ async def fibonacci_large_value_test(fibonacci_func: Callable[[int], int]) -> No
WHEN fibonacci function is called
THEN it should return correct value within timeout
"""
_functional_fibonacci = async_timeout(5000)(fibonacci_func)
_functional_fibonacci = async_timeout(1000)(fibonacci_func)

assert await _functional_fibonacci(35) == 9227465, "F(35) should be 9227465"


async def fibonacci_invalid_input_test(fibonacci_func: Callable[[int], int]) -> None:
"""
GIVEN invalid inputs
WHEN fibonacci function is called
THEN it should raise appropriate exceptions
"""
_functional_fibonacci = async_timeout(100)(fibonacci_func)

try:
await _functional_fibonacci(-1)
raise AssertionError("Negative input should raise ValueError")
except ValueError:
pass

try:
await _functional_fibonacci(1.5)
raise AssertionError("Non-integer input should raise TypeError")
except TypeError:
pass
24 changes: 0 additions & 24 deletions tests/test_fibonacci.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,6 @@ def correct_fibonacci(n: int) -> int:
:param n: A non-negative integer
:return: The nth Fibonacci number
"""
# check if input is valid
if not isinstance(n, int):
raise TypeError("Input must be an integer")
if n < 0:
raise ValueError("Input must be non-negative")

# Base cases
if n <= 1:
Expand Down Expand Up @@ -110,25 +105,6 @@ async def test_test_case_with_large_value_and_correct_function_then_success() ->
await fibonacci_test.fibonacci_large_value_test(correct_fibonacci)


async def test_test_case_with_invalid_input_and_base_function_then_error() -> None:
"""
GIVEN a test case with invalid input and base function
WHEN the fibonacci function is called
THEN an AssertionError should be raised
"""
with pytest.raises(AssertionError, match="Negative input should raise ValueError"):
await fibonacci_test.fibonacci_invalid_input_test(fibonacci)


async def test_test_case_with_invalid_input_and_correct_function_then_success() -> None:
"""
GIVEN a test case with invalid input and correct function
WHEN the fibonacci function is called
THEN any error should not be raised
"""
await fibonacci_test.fibonacci_invalid_input_test(correct_fibonacci)


async def test_test_case_with_large_value_and_slow_function_then_error() -> None:
"""
GIVEN test case with large value and slow function
Expand Down