Ejemplo n.º 1
0
 def test_multiples_of_5_that_are_also_multiples_of_3_in_range_5_to_100(
         self):
     test_cases = [(num, 'FizzBuzz') for num in range(5, 101, 5)
                   if num % 3 == 0]
     for number, expected_output in test_cases:
         with self.subTest(f'{number} -> {expected_output}'):
             self.assertEqual(fizz_buzz(number), expected_output)
Ejemplo n.º 2
0
 def test_multiples_of_5_in_range_5_to_100(self):
     test_cases = [
         (num, 'Buzz') for num in range(5, 101, 5)
         if num % 3 != 0  # ignore multiples of 3
     ]
     for number, expected_output in test_cases:
         with self.subTest(f'{number} -> {expected_output}'):
             self.assertEqual(fizz_buzz(number), expected_output)
Ejemplo n.º 3
0
 def test_that_passing_a_boolean_as_argument_raises_error(self):
     with self.assertRaises(TypeError):
         fizz_buzz(True)
Ejemplo n.º 4
0
 def test_that_passing_a_float_as_argument_raises_error(self):
     with self.assertRaises(TypeError):
         fizz_buzz(3.1415926)
Ejemplo n.º 5
0
 def test_that_passing_fraction_as_argument_raises_error(self):
     with self.assertRaises(TypeError):
         fizz_buzz(2 / 3)
Ejemplo n.º 6
0
 def test_that_passing_nondecimal_string_as_argument_raises_error(self):
     with self.assertRaises(TypeError):
         fizz_buzz('Hello World')
Ejemplo n.º 7
0
 def test_outputs_when_x_is_in_the_range_of_16_through_30(self):
     self.assertListEqual([fizz_buzz(x) for x in range(16, 31)], [
         16, 17, 'Fizz', 19, 'Buzz', 'Fizz', 22, 23, 'Fizz', 'Buzz', 26,
         'Fizz', 28, 29, 'FizzBuzz'
     ])
Ejemplo n.º 8
0
 def test_outputs_when_x_is_in_the_range_of_1_through_15(self):
     self.assertListEqual([fizz_buzz(x) for x in range(1, 16)], [
         1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz', 11, 'Fizz',
         13, 14, 'FizzBuzz'
     ])
Ejemplo n.º 9
0
 def test_that_an_input_divisble_by_both_3_and_5_returns_fizzbuzz(self):
     self.assertEqual('FizzBuzz', fizz_buzz(15))
Ejemplo n.º 10
0
 def test_that_an_input_divisble_by_5_only_returns_buzz(self):
     test_cases = [(5, 'Buzz'), (10, 'Buzz')]
     for number, expected_output in test_cases:
         with self.subTest(f'{number} -> {expected_output}'):
             self.assertEqual(fizz_buzz(number), expected_output)
Ejemplo n.º 11
0
 def test_that_passing_a_negative_number_as_argument_raises_error(self):
     with self.assertRaises(ValueError):
         fizz_buzz(-42)
Ejemplo n.º 12
0
 def test_that_passing_zero_as_argument_raises_error(self):
     with self.assertRaises(ValueError):
         fizz_buzz(0)
Ejemplo n.º 13
0
 def test_that_an_input_x_divisble_by_neither_3_or_5_returns_x(self):
     test_cases = [(1, 1), (2, 2), (4, 4), (7, 7), (8, 8), (11, 11),
                   (13, 13), (14, 14)]
     for number, expected_output in test_cases:
         with self.subTest(f'{number} -> {expected_output}'):
             self.assertEqual(fizz_buzz(number), expected_output)