Skip to content

Commit ffa7055

Browse files
committed
PCC45 BNAndras
1 parent ed6ca17 commit ffa7055

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

45/BNAndras/fizzbuzz.py

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env python3
2+
3+
from typing import Union
4+
5+
def fizzbuzz(n: int) -> Union[str, int]:
6+
if not isinstance(n, int):
7+
raise ValueError("Passed value is not a number.")
8+
9+
if n % 15 == 0:
10+
return "FizzBuzz"
11+
elif n % 5 == 0:
12+
return "Buzz"
13+
elif n % 3 == 0:
14+
return "Fizz"
15+
else:
16+
return n

45/BNAndras/test_fizzbuzz.py

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from pytest import raises
2+
3+
from fizzbuzz import fizzbuzz
4+
5+
6+
def test_raises_type_error_for_empty_arg():
7+
with raises(TypeError):
8+
fizzbuzz()
9+
10+
def test_raises_value_error_for_non_number():
11+
with raises(ValueError):
12+
fizzbuzz("a")
13+
14+
def test_returns_fizz():
15+
assert fizzbuzz(3) == "Fizz"
16+
17+
def test_returns_buzz():
18+
assert fizzbuzz(5) == "Buzz"
19+
20+
def test_returns_fizzbuzz():
21+
assert fizzbuzz(15) == "FizzBuzz"
22+
23+
def test_returns_value_given_number():
24+
assert fizzbuzz(91) == 91

0 commit comments

Comments
 (0)