Files
CI-templates/test-projects/python-basic/tests/test_utils.py
T
2025-09-19 19:38:10 +02:00

41 lines
1.3 KiB
Python

"""Tests for the utils module."""
import pytest
from test_package.utils import format_number, is_even, factorial
class TestUtils:
"""Test cases for utility functions."""
def test_format_number_integer(self):
"""Test formatting integers."""
assert format_number(42) == "42"
assert format_number(-5) == "-5"
def test_format_number_float(self):
"""Test formatting floats."""
assert format_number(3.14159) == "3.14"
assert format_number(3.14159, 3) == "3.142"
assert format_number(2.0) == "2.00"
def test_is_even(self):
"""Test even number detection."""
assert is_even(2) is True
assert is_even(4) is True
assert is_even(1) is False
assert is_even(3) is False
assert is_even(0) is True
assert is_even(-2) is True
assert is_even(-1) is False
def test_factorial_positive(self):
"""Test factorial of positive numbers."""
assert factorial(0) == 1
assert factorial(1) == 1
assert factorial(5) == 120
assert factorial(3) == 6
def test_factorial_negative(self):
"""Test factorial of negative numbers raises error."""
with pytest.raises(ValueError, match="Factorial is not defined for negative numbers"):
factorial(-1)