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
4 changes: 2 additions & 2 deletions python_boilerplate/__init__.py
Original file line number Diff line number Diff line change
@@ -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"]
46 changes: 18 additions & 28 deletions python_boilerplate/main.py
Original file line number Diff line number Diff line change
@@ -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
19 changes: 16 additions & 3 deletions tests/test_main.py
Original file line number Diff line number Diff line change
@@ -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
Loading