def fizz_buzz_test(self): """Test that the returned generator function contains: - At least one Fizz - At least one Buzz - At least one FizzBuzz - All numbers between 1 and 100 that are not multiples of 3 or 5 - One hundred elements And doesn't contain: - Any multiples of three or five """ threes = [x for x in range(3, 101, 3) if x % 3 is 0] fives = [x for x in range(5, 101, 5) if x % 5 is 0] non_multiples = [x for x in range(1, 101) if x % 3 is not 0 and x % 5 is not 0] fizzbuzz = [x for x in fizz_buzz()] self.assertIn('Fizz', fizzbuzz) # contains a Fizz self.assertIn('Buzz', fizzbuzz) # contains a Buzz self.assertIn('FizzBuzz', fizzbuzz) # contains a FizzBuzz self.assertEqual(len(fizzbuzz), 100) # contains correct number of elements for item in fizzbuzz: # contains no threes or fives self.assertNotIn(item, threes) self.assertNotIn(item, fives) for item in non_multiples: # contains all non-multiple numbers self.assertIn(item, fizzbuzz)
def test_return_number_2(self): self.assertEqual(fizz_buzz(2), 2)
def test_return_number_1(self): self.assertEqual(fizz_buzz(1), 1)
def test_return_fizzbuzz(self): self.assertEqual(fizz_buzz(15), 'fizzbuzz')
def test_return_buzz(self): self.assertEqual(fizz_buzz(5), 'buzz')
def test_return_number_4(self): self.assertEqual(fizz_buzz(4), 4)
def test_return_fizz_buzz_for_15(): return_value = fizz_buzz(15) assert return_value == 'FizzBuzz'
def _validate_fizz_buzz(value, expected): return_value = fizz_buzz(value) assert return_value == expected
def test_fizz_2(self): self.assertEqual(fizz_buzz(33), 'Fizz', msg='should return `Fizz` for number divisible by 3')
def test_fizz_buzz_1(self): self.assertEqual(fizz_buzz(15), 'FizzBuzz', msg='should return `FizzBuzz` for number divisible by 3 and 5')
def test_indivisible_2(self): self.assertEqual(fizz_buzz(8), 8, msg='should return the number if its in divisible by neither 3 or 5')
def test_buzz_2(self): self.assertEqual(fizz_buzz(25), 'Buzz', msg='should return `Buzz` for number divisible by 5')
def test_input_3_5(self): self.assertEqual(fizz_buzz(15), "FizzBuzz")
def test_input_normal(self): self.assertEqual(fizz_buzz(1), "1")
def test_input_5(self): self.assertEqual(fizz_buzz(5), "Buzz")
def test_input_3(self): self.assertEqual(fizz_buzz(3), "Fizz")