"""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)