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)
示例#7
0
def test_return_fizz_buzz_for_15():
    return_value = fizz_buzz(15)
    assert return_value == 'FizzBuzz'
示例#8
0
def _validate_fizz_buzz(value, expected):
    return_value = fizz_buzz(value)
    assert return_value == expected
示例#9
0
 def test_fizz_2(self):
     self.assertEqual(fizz_buzz(33), 'Fizz', msg='should return `Fizz` for number divisible by 3')
示例#10
0
 def test_fizz_buzz_1(self):
     self.assertEqual(fizz_buzz(15), 'FizzBuzz', msg='should return `FizzBuzz` for number divisible by 3 and 5')
示例#11
0
 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')
示例#12
0
 def test_buzz_2(self):
     self.assertEqual(fizz_buzz(25), 'Buzz', msg='should return `Buzz` for number divisible by 5')
示例#13
0
 def test_input_3_5(self):
     self.assertEqual(fizz_buzz(15), "FizzBuzz")
示例#14
0
 def test_input_normal(self):
     self.assertEqual(fizz_buzz(1), "1")
示例#15
0
 def test_input_5(self):
     self.assertEqual(fizz_buzz(5), "Buzz")
示例#16
0
 def test_input_3(self):
     self.assertEqual(fizz_buzz(3), "Fizz")