mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-13 21:02:15 +00:00
Added test case for unittest which is in the standard library, and therefore more people have it. It's a less good test though, because it is not properly parameterized.
This commit is contained in:
parent
837433847e
commit
406fac2681
@ -1,54 +1,11 @@
|
|||||||
import pytest
|
import pytest
|
||||||
from tennis import TennisGame
|
from tennis import TennisGame
|
||||||
|
|
||||||
# actual test code
|
from tennis_unittest import test_cases
|
||||||
|
|
||||||
class TestTennis:
|
class TestTennis:
|
||||||
|
|
||||||
@pytest.mark.parametrize('p1Points p2Points score p1Name p2Name'.split(),[
|
@pytest.mark.parametrize('p1Points p2Points score p1Name p2Name'.split(), test_cases)
|
||||||
(0, 0, "Love-All", 'player1', 'player2'),
|
|
||||||
(1, 1, "Fifteen-All", 'player1', 'player2'),
|
|
||||||
(2, 2, "Thirty-All", 'player1', 'player2'),
|
|
||||||
(3, 3, "Forty-All", 'player1', 'player2'),
|
|
||||||
(4, 4, "Deuce", 'player1', 'player2'),
|
|
||||||
|
|
||||||
(1, 0, "Fifteen-Love", 'player1', 'player2'),
|
|
||||||
(0, 1, "Love-Fifteen", 'player1', 'player2'),
|
|
||||||
(2, 0, "Thirty-Love", 'player1', 'player2'),
|
|
||||||
(0, 2, "Love-Thirty", 'player1', 'player2'),
|
|
||||||
(3, 0, "Forty-Love", 'player1', 'player2'),
|
|
||||||
(0, 3, "Love-Forty", 'player1', 'player2'),
|
|
||||||
(4, 0, "Win for player1", 'player1', 'player2'),
|
|
||||||
(0, 4, "Win for player2", 'player1', 'player2'),
|
|
||||||
|
|
||||||
(2, 1, "Thirty-Fifteen", 'player1', 'player2'),
|
|
||||||
(1, 2, "Fifteen-Thirty", 'player1', 'player2'),
|
|
||||||
(3, 1, "Forty-Fifteen", 'player1', 'player2'),
|
|
||||||
(1, 3, "Fifteen-Forty", 'player1', 'player2'),
|
|
||||||
(4, 1, "Win for player1", 'player1', 'player2'),
|
|
||||||
(1, 4, "Win for player2", 'player1', 'player2'),
|
|
||||||
|
|
||||||
(3, 2, "Forty-Thirty", 'player1', 'player2'),
|
|
||||||
(2, 3, "Thirty-Forty", 'player1', 'player2'),
|
|
||||||
(4, 2, "Win for player1", 'player1', 'player2'),
|
|
||||||
(2, 4, "Win for player2", 'player1', 'player2'),
|
|
||||||
|
|
||||||
(4, 3, "Advantage player1", 'player1', 'player2'),
|
|
||||||
(3, 4, "Advantage player2", 'player1', 'player2'),
|
|
||||||
(5, 4, "Advantage player1", 'player1', 'player2'),
|
|
||||||
(4, 5, "Advantage player2", 'player1', 'player2'),
|
|
||||||
(15, 14, "Advantage player1", 'player1', 'player2'),
|
|
||||||
(14, 15, "Advantage player2", 'player1', 'player2'),
|
|
||||||
|
|
||||||
(6, 4, 'Win for player1', 'player1', 'player2'),
|
|
||||||
(4, 6, 'Win for player2', 'player1', 'player2'),
|
|
||||||
(16, 14, 'Win for player1', 'player1', 'player2'),
|
|
||||||
(14, 16, 'Win for player2', 'player1', 'player2'),
|
|
||||||
|
|
||||||
(6, 4, 'Win for One', 'One', 'player2'),
|
|
||||||
(4, 6, 'Win for Two', 'player1', 'Two'),
|
|
||||||
(6, 5, 'Advantage One', 'One', 'player2'),
|
|
||||||
(5, 6, 'Advantage Two', 'player1', 'Two')
|
|
||||||
])
|
|
||||||
def test_get_score(self, p1Points, p2Points, score, p1Name, p2Name):
|
def test_get_score(self, p1Points, p2Points, score, p1Name, p2Name):
|
||||||
game = TennisGame(p1Name, p2Name)
|
game = TennisGame(p1Name, p2Name)
|
||||||
for i in range(p1Points):
|
for i in range(p1Points):
|
||||||
|
|||||||
66
Tennis/python/tennis_unittest.py
Normal file
66
Tennis/python/tennis_unittest.py
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
import unittest
|
||||||
|
|
||||||
|
from tennis import TennisGame
|
||||||
|
|
||||||
|
test_cases = [
|
||||||
|
(0, 0, "Love-All", 'player1', 'player2'),
|
||||||
|
(1, 1, "Fifteen-All", 'player1', 'player2'),
|
||||||
|
(2, 2, "Thirty-All", 'player1', 'player2'),
|
||||||
|
(3, 3, "Forty-All", 'player1', 'player2'),
|
||||||
|
(4, 4, "Deuce", 'player1', 'player2'),
|
||||||
|
|
||||||
|
(1, 0, "Fifteen-Love", 'player1', 'player2'),
|
||||||
|
(0, 1, "Love-Fifteen", 'player1', 'player2'),
|
||||||
|
(2, 0, "Thirty-Love", 'player1', 'player2'),
|
||||||
|
(0, 2, "Love-Thirty", 'player1', 'player2'),
|
||||||
|
(3, 0, "Forty-Love", 'player1', 'player2'),
|
||||||
|
(0, 3, "Love-Forty", 'player1', 'player2'),
|
||||||
|
(4, 0, "Win for player1", 'player1', 'player2'),
|
||||||
|
(0, 4, "Win for player2", 'player1', 'player2'),
|
||||||
|
|
||||||
|
(2, 1, "Thirty-Fifteen", 'player1', 'player2'),
|
||||||
|
(1, 2, "Fifteen-Thirty", 'player1', 'player2'),
|
||||||
|
(3, 1, "Forty-Fifteen", 'player1', 'player2'),
|
||||||
|
(1, 3, "Fifteen-Forty", 'player1', 'player2'),
|
||||||
|
(4, 1, "Win for player1", 'player1', 'player2'),
|
||||||
|
(1, 4, "Win for player2", 'player1', 'player2'),
|
||||||
|
|
||||||
|
(3, 2, "Forty-Thirty", 'player1', 'player2'),
|
||||||
|
(2, 3, "Thirty-Forty", 'player1', 'player2'),
|
||||||
|
(4, 2, "Win for player1", 'player1', 'player2'),
|
||||||
|
(2, 4, "Win for player2", 'player1', 'player2'),
|
||||||
|
|
||||||
|
(4, 3, "Advantage player1", 'player1', 'player2'),
|
||||||
|
(3, 4, "Advantage player2", 'player1', 'player2'),
|
||||||
|
(5, 4, "Advantage player1", 'player1', 'player2'),
|
||||||
|
(4, 5, "Advantage player2", 'player1', 'player2'),
|
||||||
|
(15, 14, "Advantage player1", 'player1', 'player2'),
|
||||||
|
(14, 15, "Advantage player2", 'player1', 'player2'),
|
||||||
|
|
||||||
|
(6, 4, 'Win for player1', 'player1', 'player2'),
|
||||||
|
(4, 6, 'Win for player2', 'player1', 'player2'),
|
||||||
|
(16, 14, 'Win for player1', 'player1', 'player2'),
|
||||||
|
(14, 16, 'Win for player2', 'player1', 'player2'),
|
||||||
|
|
||||||
|
(6, 4, 'Win for One', 'One', 'player2'),
|
||||||
|
(4, 6, 'Win for Two', 'player1', 'Two'),
|
||||||
|
(6, 5, 'Advantage One', 'One', 'player2'),
|
||||||
|
(5, 6, 'Advantage Two', 'player1', 'Two'),
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
class TestTennis(unittest.TestCase):
|
||||||
|
|
||||||
|
def test_Score(self):
|
||||||
|
for testcase in test_cases:
|
||||||
|
(p1Points, p2Points, score, p1Name, p2Name) = testcase
|
||||||
|
game = TennisGame(p1Name, p2Name)
|
||||||
|
for i in range(p1Points):
|
||||||
|
game.won_point(p1Name)
|
||||||
|
for i in range(p2Points):
|
||||||
|
game.won_point(p2Name)
|
||||||
|
self.assertEquals(score, game.score())
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user