Skip to content

Instantly share code, notes, and snippets.

@zkan
Last active December 16, 2018 01:49
Show Gist options
  • Save zkan/4cc9fecc8c5a829a356f81561f0aa251 to your computer and use it in GitHub Desktop.
Save zkan/4cc9fecc8c5a829a356f81561f0aa251 to your computer and use it in GitHub Desktop.
FizzBuzz test using Pytest with fixtures
import pytest
class FizzBuzz:
def say(self, number):
  if number % 3 == 0 and number % 5 == 0:
  return 'FizzBuzz'
  elif number % 3 == 0:
  return 'Fizz'
  elif number % 5 == 0:
  return 'Buzz'
  else:
  return number
@pytest.fixture
def fizzbuzz():
f = FizzBuzz()
  return f
def test_input_is_divisible_by_3_should_get_fizz(fizzbuzz):
assert fizzbuzz.say(3) == 'Fizz'
  assert fizzbuzz.say(6) == 'Fizz'
def test_input_is_divisible_by_5_should_get_buzz(fizzbuzz):
  assert fizzbuzz.say(5) == 'Buzz'
  assert fizzbuzz.say(10) == 'Buzz'
def test_input_is_divisible_by_3_and_5_should_get_fizzbuzz(fizzbuzz):
  assert fizzbuzz.say(15) == 'FizzBuzz'
  assert fizzbuzz.say(30) == 'FizzBuzz'
def test_input_is_number_should_get_number(fizzbuzz):
  assert fizzbuzz.say(2) == 2
  assert fizzbuzz.say(7) == 7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment