diff --git a/maths/test_factorial.py b/maths/test_factorial.py new file mode 100644 index 000000000000..d80d88add745 --- /dev/null +++ b/maths/test_factorial.py @@ -0,0 +1,37 @@ +# /// script +# requires-python = ">=3.13" +# dependencies = [ +# "pytest", +# ] +# /// + +import pytest + +from maths.factorial import factorial, factorial_recursive + + +@pytest.mark.parametrize("function", [factorial, factorial_recursive]) +def test_zero(function): + assert function(0) == 1 + + +@pytest.mark.parametrize("function", [factorial, factorial_recursive]) +def test_positive_integers(function): + assert function(1) == 1 + assert function(5) == 120 + assert function(7) == 5040 + + +@pytest.mark.parametrize("function", [factorial, factorial_recursive]) +def test_large_number(function): + assert function(10) == 3628800 + + +@pytest.mark.parametrize("function", [factorial, factorial_recursive]) +def test_negative_number(function): + with pytest.raises(ValueError): + function(-3) + + +if __name__ == "__main__": + pytest.main(["-v", __file__]) diff --git a/web_programming/current_stock_price.py b/web_programming/current_stock_price.py index 16b0b6772a9c..531da949ea50 100644 --- a/web_programming/current_stock_price.py +++ b/web_programming/current_stock_price.py @@ -23,7 +23,7 @@ def stock_price(symbol: str = "AAPL") -> str: """ >>> stock_price("EEEE") - '- ' + 'No tag with the specified data-testid attribute found.' >>> isinstance(float(stock_price("GOOG")),float) True """