@@ -17,7 +17,7 @@ def fizz_buzz_one( start, end ):
1717 fizzbuzz += str (i )
1818
1919 fizzbuzz += ' '
20- return fizzbuzz
20+ return fizzbuzz . rstrip () # remove trailing whitespace
2121
2222
2323def fizz_buzz_two ( start , end ):
@@ -60,8 +60,44 @@ def fizz_buzz_four( start, end ):
6060 for i in range (start , end + 1 ):
6161 fizz = (i % 3 == 0 )
6262 buzz = (i % 5 == 0 )
63- if fizz and buzz : result .append ('Fizzbuzz ' )
64- elif fizz : result .append ('Fizz ' )
65- elif buzz : result .append ('Buzz ' )
63+ if fizz and buzz : result .append ('fizzbuzz ' )
64+ elif fizz : result .append ('fizz ' )
65+ elif buzz : result .append ('buzz ' )
6666 else : result .append (i )
6767 return result
68+
69+
70+ # Unit testing
71+ class fizz_buzz_tests (unittest .TestCase ):
72+
73+ def setUp (self ):
74+ pass
75+
76+ def test_fizz_buzz_one (self ):
77+ self .assertEqual (
78+ fizz_buzz_one (0 , 12 ), "fizzbuzz 1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz"
79+ )
80+ self .assertEqual (fizz_buzz_one (0 , 0 ), "fizzbuzz" )
81+ self .assertEqual (fizz_buzz_one (14 ,16 ), "14 fizzbuzz 16" )
82+
83+ def test_fizz_buzz_two (self ):
84+ self .assertEqual (
85+ fizz_buzz_two (5 , 12 ), ['buzz' , 'fizz' , 7 , 8 , 'fizz' , 'buzz' , 11 , 'fizz' ]
86+ )
87+ self .assertEqual (
88+ fizz_buzz_two (5 , - 2 ), []
89+ )
90+
91+ def test_fizz_buzz_three (self ):
92+ self .assertEqual (
93+ fizz_buzz_three (5 , 12 ), ['buzz' , 'fizz' , 7 , 8 , 'fizz' , 'buzz' , 11 , 'fizz' ]
94+ )
95+
96+ def test_fizz_buzz_four (self ):
97+ self .assertEqual (
98+ fizz_buzz_four (5 , 12 ), ['buzz' , 'fizz' , 7 , 8 , 'fizz' , 'buzz' , 11 , 'fizz' ]
99+ )
100+
101+
102+ if __name__ == '__main__' :
103+ unittest .main ()
0 commit comments