File tree 2 files changed +40
-0
lines changed
2 files changed +40
-0
lines changed Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments