diff --git a/fizz.py b/fizz.py index 8b02047..3668f96 100644 --- a/fizz.py +++ b/fizz.py @@ -1,5 +1,4 @@ -for i in range(1, 301): - +def processNumber(i): buzzes = [] if i % 3 == 0: buzzes.append("Fizz") @@ -16,6 +15,9 @@ buzzes.reverse() if len(buzzes) > 0: - print("".join(buzzes)) + return "".join(buzzes) else: - print(i) \ No newline at end of file + return i + +for i in range(1, 301): + print(processNumber(i)) diff --git a/test_fizzbuzz.py b/test_fizzbuzz.py new file mode 100644 index 0000000..43e6252 --- /dev/null +++ b/test_fizzbuzz.py @@ -0,0 +1,43 @@ +## To run the tests in this file: +## pip install pytest +## pytest + +from fizz import processNumber + +def test_3_multiple(): + assert processNumber(3) == "Fizz" + assert processNumber(6) == "Fizz" + +def test_5_multiple(): + assert processNumber(5) == "Buzz" + assert processNumber(10) == "Buzz" + +def test_3_and_5_multiple(): + assert processNumber(15) == "FizzBuzz" + assert processNumber(30) == "FizzBuzz" + +def test_7_multiple(): + assert processNumber(7) == "Bang" + assert processNumber(21) == "FizzBang" + assert processNumber(105) == "FizzBuzzBang" + +def test_11_multiple(): + assert processNumber(11) == "Bong" + assert processNumber(22) == "Bong" + assert processNumber(33) == "Bong" + assert processNumber(44) == "Bong" + assert processNumber(55) == "Bong" + +def test_13_multiple(): + assert processNumber(65) == "FezzBuzz" + assert processNumber(195) == "FizzFezzBuzz" + assert processNumber(143) == "FezzBong" + +def test_17_multiple(): + assert processNumber(255) == "BuzzFizz" + +def test_prime_numbers(): + assert int(processNumber(19)) == 19 + assert int(processNumber(23))== 23 + assert int(processNumber(89)) == 89 + assert int(processNumber(97)) == 97