Ejemplo n.º 1
0
class FizzBuzzTest(TestCase):
    def test_returns_number_for_input_not_divisible_by_3_or_5(self):
        self.fizzbuzz = FizzBuzz()
        self.assertEqual('1', self.fizzbuzz.convert(1))
        self.assertEqual('2', self.fizzbuzz.convert(2))
        self.assertEqual('4', self.fizzbuzz.convert(4))
        self.assertEqual('7', self.fizzbuzz.convert(7))
        self.assertEqual('11', self.fizzbuzz.convert(11))
        self.assertEqual('13', self.fizzbuzz.convert(13))
        self.assertEqual('14', self.fizzbuzz.convert(14))
Ejemplo n.º 2
0
    class Test_3の倍数の場合():
        # クラス名にTest_をつけないと実行されないので注意
        def setup_method(self):
            # 重複してしまうが、全ての入れ子クラスでsetup_method()を呼ぶ必要
            self.fizzbuzz = FizzBuzz()

        def test_3を渡したら文字列Fizzを返す(self):
            assert self.fizzbuzz.convert(3) == 'Fizz'
Ejemplo n.º 3
0
class TestFizzBuzz():
    def setup_method(self):
        self.fizzbuzz = FizzBuzz()

    def test_1を渡したら文字列1を返す(self):
        assert self.fizzbuzz.convert(1) == '1'

    def test_2を渡したら文字列2を返す(self):
        assert self.fizzbuzz.convert(2) == '2'

    def test_3を渡したら文字列Fizzを返す(self):
        assert self.fizzbuzz.convert(3) == 'Fizz'

    def test_5を渡したら文字列Buzzを返す(self):
        assert self.fizzbuzz.convert(5) == 'Buzz'

    def test_15を渡したら文字列FizzBuzzを返す(self):
        assert self.fizzbuzz.convert(15) == 'FizzBuzz'
Ejemplo n.º 4
0
class FizzBuzzTest(TestCase):
    def setUp(self):
        self.fizzbuzz = FizzBuzz()

    def tearDown(self):
        self.fizzbuzz = None

    def test_returns_number_for_input_not_divisible_by_3_or_5(self):
        self.assertEqual('1', self.fizzbuzz.convert(1))
        self.assertEqual('2', self.fizzbuzz.convert(2))
        self.assertEqual('4', self.fizzbuzz.convert(4))
        self.assertEqual('7', self.fizzbuzz.convert(7))
        self.assertEqual('11', self.fizzbuzz.convert(11))
        self.assertEqual('13', self.fizzbuzz.convert(13))
        self.assertEqual('14', self.fizzbuzz.convert(14))

    def test_returns_number_for_input_divisible_by_3(self):
        fizzbuzz = FizzBuzz()
        self.assertEqual('Fizz', fizzbuzz.convert(3))
        self.assertEqual('Fizz', fizzbuzz.convert(6))
        self.assertEqual('Fizz', fizzbuzz.convert(9))

    def test_returns_number_for_input_divisible_by_5(self):
        fizzbuzz = FizzBuzz()
        self.assertEqual('Buzz', fizzbuzz.convert(5))
        self.assertEqual('Buzz', fizzbuzz.convert(10))
        self.assertEqual('Buzz', fizzbuzz.convert(20))

    def test_returns_number_for_input_divisible_by_3_and_5(self):
        fizzbuzz = FizzBuzz()
        self.assertEqual('FizzBuzz', fizzbuzz.convert(15))
        self.assertEqual('FizzBuzz', fizzbuzz.convert(30))
        self.assertEqual('FizzBuzz', fizzbuzz.convert(45))

    def test_number_between_1_and_100(self):
        fizzbuzz = FizzBuzz()
        with self.assertRaises(Exception):
            fizzbuzz.convert(-1)
        with self.assertRaises(Exception):
            fizzbuzz.convert(0)
        with self.assertRaises(Exception):
            fizzbuzz.convert(101)
Ejemplo n.º 5
0
class TestFizzBuzz():
    # def test_数を文字列にして返す():
    #     # 関数名にtestする内容を日本語で書くと分かりやすい
    #     # TDDはテストコードから書く
    #     # 数を文字列にして返すって具体的にどういうこと?
    #     # →TODOリストの項目を具体化する必要
    def setup_method(self):
        self.fizzbuzz = FizzBuzz()

    def test_1を渡したら文字列1を返す(self):
        # FizzBuzzクラスを作る前には、当然そのようなクラスも.convert()も無いが、
        # TDDでは、上記のような期待する処理を先にテストコードに書いて、
        # それに対応するように、モジュールにクラスとメソッドを実装していく。
        assert '1' == self.fizzbuzz.convert(1)

    def test_2を渡したら文字列2を返す(self):
        assert '2' == self.fizzbuzz.convert(2)

    def test_3を渡したら文字列Fizzを返す(self):
        assert "Fizz" == self.fizzbuzz.convert(3)
Ejemplo n.º 6
0
 def test_number_between_1_and_100(self):
     fizzbuzz = FizzBuzz()
     with self.assertRaises(Exception):
         fizzbuzz.convert(-1)
     with self.assertRaises(Exception):
         fizzbuzz.convert(0)
     with self.assertRaises(Exception):
         fizzbuzz.convert(101)
Ejemplo n.º 7
0
def test_1を渡したら文字列1を返す():
    # テストケースで行うことは下記3項目
    # (i). 前準備
    # (ii). 実行
    # (iii). 検証
    # →TDD初心者のうちは3から1の順番に実装していく

    # 1.
    # 文字列1が返ってると仮定して、"assert == '1'"と書いたところで手が止まる

    # 2.
    # assertの左辺にFizzBuzzクラス(?)の数字を文字列に返すメソッドが
    # 存在すると仮定してassertを書き進める

    # assert fizzbuzz.convert(1) == '1'と書いて実行
    # fizzbuzzなんてものを定義していないので、エラーが発生する
    # (NameError: name 'fizzbuzz' is not defined)

    # fizzbuzz.pyにFizzBuzzクラスと「引数とreturn Noneのみ定義した」convertメソッドを作成して、
    # test_fizzbuzz.pyにimportする

    # # 前準備
    # fizzbuzz = FizzBuzz()
    # # 実行
    # # 検証
    # assert fizzbuzz.convert(1) == '1'
    # .convert()に何も処理を書いてないので当然落ちる
    # (AssertionError: assert None == '1')

    # このテストを通す最小限の実装をする
    # .convert()の戻り値にreturn str(1)を書く
    # 前準備
    fizzbuzz = FizzBuzz()
    # 実行
    # 検証
    assert fizzbuzz.convert(1) == '1'
Ejemplo n.º 8
0
    class Test_その他の場合():
        def setup_method(self):
            self.fizzbuzz = FizzBuzz()

        def test_1を渡したら文字列1を返す(self):
            assert self.fizzbuzz.convert(1) == '1'
Ejemplo n.º 9
0
    class Test_3と5の倍数の場合():
        def setup_method(self):
            self.fizzbuzz = FizzBuzz()

        def test_15を渡したら文字列FizzBuzzを返す(self):
            assert self.fizzbuzz.convert(15) == 'FizzBuzz'
Ejemplo n.º 10
0
 def test_returns_number_for_input_divisible_by_3_and_5(self):
     fizzbuzz = FizzBuzz()
     self.assertEqual('FizzBuzz', fizzbuzz.convert(15))
     self.assertEqual('FizzBuzz', fizzbuzz.convert(30))
     self.assertEqual('FizzBuzz', fizzbuzz.convert(45))
Ejemplo n.º 11
0
 def test_returns_number_for_input_divisible_by_5(self):
     fizzbuzz = FizzBuzz()
     self.assertEqual('Buzz', fizzbuzz.convert(5))
     self.assertEqual('Buzz', fizzbuzz.convert(10))
     self.assertEqual('Buzz', fizzbuzz.convert(20))
Ejemplo n.º 12
0
class FizzBuzzTest(TestCase):
    def setUp(self):
        self.fizzbuzz = FizzBuzz()

    def tearDown(self):
        self.fizzbuzz = None

    def test_returns_number_for_input_not_divisible_by_3_or_5(self):

        self.assertEqual('1', self.fizzbuzz.convert(1))
        self.assertEqual('2', self.fizzbuzz.convert(2))
        self.assertEqual('4', self.fizzbuzz.convert(4))
        self.assertEqual('7', self.fizzbuzz.convert(7))
        self.assertEqual('11', self.fizzbuzz.convert(11))
        self.assertEqual('13', self.fizzbuzz.convert(13))
        self.assertEqual('14', self.fizzbuzz.convert(14))

    def test_returns_number_for_input_divisible_by_3_not_by_5(self):

        self.assertEqual('Fizz', self.fizzbuzz.convert(3))
        self.assertEqual('Fizz', self.fizzbuzz.convert(6))
        self.assertEqual('Fizz', self.fizzbuzz.convert(9))
        self.assertEqual('Fizz', self.fizzbuzz.convert(12))
        self.assertEqual('Fizz', self.fizzbuzz.convert(18))

    def test_returns_number_for_input_divisible_by_5_not_by_3(self):

        self.assertEqual('Buzz', self.fizzbuzz.convert(5))
        self.assertEqual('Buzz', self.fizzbuzz.convert(10))
        self.assertEqual('Buzz', self.fizzbuzz.convert(20))
        self.assertEqual('Buzz', self.fizzbuzz.convert(25))
        self.assertEqual('Buzz', self.fizzbuzz.convert(35))

    def test_returns_number_for_input_divisible_by_3_and_5(self):

        self.assertEqual('FizzBuzz', self.fizzbuzz.convert(15))
        self.assertEqual('FizzBuzz', self.fizzbuzz.convert(30))
        self.assertEqual('FizzBuzz', self.fizzbuzz.convert(60))
        self.assertEqual('FizzBuzz', self.fizzbuzz.convert(120))
Ejemplo n.º 13
0
 def test_output_fizz_when_3_is_input(self):
     fizzbuzz = FizzBuzz()
     self.assertEqual('Fizz', fizzbuzz.convert(3))
Ejemplo n.º 14
0
def test_5を渡したら文字列Buzzを返す():
    fizzbuzz = FizzBuzz()
    assert fizzbuzz.convert(5) == 'Buzz'
Ejemplo n.º 15
0
def test_3を渡したら文字列Fizzを返す():
    fizzbuzz = FizzBuzz()
    assert fizzbuzz.convert(3) == 'Fizz'
Ejemplo n.º 16
0
def test_2を渡したら文字列2を返す():
    # 前準備
    fizzbuzz = FizzBuzz()
    # 実行
    # 検証
    assert fizzbuzz.convert(2) == '2'
Ejemplo n.º 17
0
class FizzBuzzTest(TestCase):
    def test_returns_number_for_input_not_divisible_by_3_or_5(self):
        self.fizzbuzz = FizzBuzz()
        self.assertEqual('1', self.fizzbuzz.convert(1))
        self.assertEqual('2', self.fizzbuzz.convert(2))
        self.assertEqual('4', self.fizzbuzz.convert(4))
        self.assertEqual('7', self.fizzbuzz.convert(7))
        self.assertEqual('11', self.fizzbuzz.convert(11))
        self.assertEqual('13', self.fizzbuzz.convert(13))
        self.assertEqual('14', self.fizzbuzz.convert(14))

    def test_returns_number_for_input_divisible_by_3(self):
        self.fizzbuzz = FizzBuzz()
        self.assertEqual('3', self.fizzbuzz.convert(3))
        self.assertEqual('6', self.fizzbuzz.convert(6))
        self.assertEqual('9', self.fizzbuzz.convert(9))
        self.assertEqual('12', self.fizzbuzz.convert(12))

    def test_returns_number_for_input_divisible_by_5(self):
        self.fizzbuzz = FizzBuzz()
        self.assertEqual('5', self.fizzbuzz.convert(5))
        self.assertEqual('10', self.fizzbuzz.convert(10))
        self.assertEqual('20', self.fizzbuzz.convert(20))
        self.assertEqual('25', self.fizzbuzz.convert(25))

    def test_returns_number_for_input_divisible_by_3_and_5(self):
        self.fizzbuzz = FizzBuzz()
        self.assertEqual('15', self.fizzbuzz.convert(15))
        self.assertEqual('30', self.fizzbuzz.convert(30))
        self.assertEqual('45', self.fizzbuzz.convert(45))
        self.assertEqual('60', self.fizzbuzz.convert(60))
Ejemplo n.º 18
0
 def test_returns_number_for_input_divisible_by_3(self):
     fizzbuzz = FizzBuzz()
     self.assertEqual('Fizz', fizzbuzz.convert(3))
     self.assertEqual('Fizz', fizzbuzz.convert(6))
     self.assertEqual('Fizz', fizzbuzz.convert(9))