diff --git a/python_boilerplate/__init__.py b/python_boilerplate/__init__.py index a96a94b..65324ea 100644 --- a/python_boilerplate/__init__.py +++ b/python_boilerplate/__init__.py @@ -1,3 +1,3 @@ -from .main import add, calculate_average +from .main import ADD, divide, greet, returns_none -__all__ = ["add", "calculate_average"] +__all__ = ["ADD", "divide", "greet", "returns_none"] diff --git a/python_boilerplate/main.py b/python_boilerplate/main.py index 784e10d..27914fe 100644 --- a/python_boilerplate/main.py +++ b/python_boilerplate/main.py @@ -1,38 +1,28 @@ -def add(a: int, b: int) -> int: - """ - Add two integers. - - Args: - a: First integer. - b: Second integer. +# noqa: E501 - Returns: - The sum of a and b. - """ - return a + b +def ADD(a,b):return a + b # bad name, spacing, formatting -def calculate_average(values: list[float]) -> float: +def divide(a: int, b: int) -> int: """ - Calculate the arithmetic mean of a list of numbers. + Divides two numbers. + """ + return a / b # type error: returns float, annotation says int - This function computes the average by summing all values - and dividing by the number of elements. - Args: - values: A non-empty list of floating-point numbers. +def greet(name, excited=False): + if excited == True: + return "Hello " + name + "!!!" + else: + return "Hello "+ name - Returns: - The arithmetic mean of the input values. - Raises: - ValueError: If the input list is empty. +def returns_none(flag: bool) -> int: + if flag: + return 42 + # implicit None return - Examples: - >>> calculate_average([1.0, 2.0, 3.0]) - 2.0 - """ - if not values: - raise ValueError("values must not be empty") - return sum(values) / len(values) +def unused_function(x: int, y: int): + z = x + y # unused variable + pass diff --git a/tests/test_main.py b/tests/test_main.py index 34f8e18..2adaceb 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -1,5 +1,18 @@ -from python_boilerplate import add +from python_boilerplate import ADD, divide, greet, returns_none -def test_add() -> None: - assert add(2, 3) == 5 +def test_add(): + assert ADD(1, 2) == 3 + + +def test_divide_returns_int(): + result = divide(10, 2) + assert isinstance(result, int) + + +def test_greet_excited(): + assert greet("Pierre", True) == "Hello Pierre!!!" + + +def test_returns_none_always_int(): + assert returns_none(False) == 0 \ No newline at end of file