Skip to content

Commit

Permalink
Add factorial function
Browse files Browse the repository at this point in the history
  • Loading branch information
acse-lb1223 committed Oct 17, 2023
1 parent b11dd96 commit 64f03a8
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
7 changes: 6 additions & 1 deletion simple_functions/functions1.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
from functools import cache

__all__ = ['my_sum']
__all__ = ['my_sum', 'factorial']


def my_sum(iterable):
tot = 0
for i in iterable:
tot += i
return tot

@cache
def factorial(n):
return n * factorial(n-1) if n else 1
12 changes: 11 additions & 1 deletion tests/test_simple_functions.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest

from simple_functions import my_sum
from simple_functions import my_sum, factorial


class TestSimpleFunctions(object):
Expand All @@ -14,3 +14,13 @@ def test_my_add(self, iterable, expected):
'''Test our add function'''
isum = my_sum(iterable)
assert isum == expected

@pytest.mark.parametrize('number, expected', [
(5, 120),
(3, 6),
(1, 1)
])
def test_factorial(self, number, expected):
'''Test our factorial function'''
answer = factorial(number)
assert answer == expected

0 comments on commit 64f03a8

Please sign in to comment.