示例#1
0
 def setUp(self):
     self.game = TennisGame()
def test_receiver_wins_point_15_15():
    game = TennisGame(Scores.FIFTEEN, Scores.FIFTEEN)
    game.point_is_scored("receiver")
    assert game.get_score_string() == "15:30"
示例#3
0
class TestTennisGame(unittest.TestCase):
    def setUp(self):
        self.game = TennisGame()

    def test_something(self):
        initial_score = self.game.score
        self.assertEqual('Love all', initial_score)

    def test_score_is_15_0_when_p1_scored_once(self):
        self.create_score(1, 0)
        self.assertEqual('Fifteen Love', self.game.score)

    def test_score_is_15_15_when_both_players_scored_once(self):
        self.create_score(1, 1)
        self.assertEqual('Fifteen All', self.game.score)

    def test_score_is_30_0_when_p1_scored_twice(self):
        self.create_score(2, 0)
        self.assertEqual('Thirty Love', self.game.score)

    def test_score_is_30_30_when_both_players_scored_twice(self):
        self.create_score(2, 2)
        self.assertEqual('Thirty All', self.game.score)

    def test_score_is_40_0_when_p1_scored_3_times(self):
        self.create_score(3, 0)
        self.assertEqual('Fourty Love', self.game.score)

    def test_score_is_40_40_when_both_players_scored_3_times(self):
        self.create_score(3, 3)
        self.assertEqual('Fourty All', self.game.score)

    def test_score_is_40_15_when_p1_scored_3_times_and_p2_scored_twice(self):
        self.create_score(3, 1)
        self.assertEqual('Fourty Fifteen', self.game.score)

    def test_score_is_30_15_when_p1_scored_twice_and_p2_scored_once(self):
        self.create_score(2, 1)
        self.assertEqual('Thirty Fifteen', self.game.score)

    def test_score_is_30_30_when_p1_scored_twice_and_p2_scored_twice(self):
        self.create_score(2, 2)
        self.assertEqual('Thirty All', self.game.score)

    def test_score_is_40_30_when_p1_scored_3_times_and_p2_scored_2_twice(self):
        self.create_score(3, 2)
        self.assertEqual('Fourty Thirty', self.game.score)

    def test_score_is_0_15_when_p2_scored_once(self):
        self.create_score(0, 1)
        self.assertEqual('Love Fifteen', self.game.score)

    def test_gem_for_p1(self):
        self.create_score(4, 0)
        self.assertEqual(1, self.game._p1_gems)

    def test_gem_for_p2(self):
        self.create_score(0, 4)
        self.assertEqual(1, self.game._p2_gems)

    def test_set_score_when_p1_got_gem(self):
        self.game.player_one_got_gem()
        self.assertEqual("1 - 0", self.game.gem_score)

    def test_set_score_when_p2_got_gem(self):
        self.game.player_two_got_gem()
        self.assertEqual("0 - 1", self.game.gem_score)

    def test_when_both_players_got_gem(self):
        self.game.player_one_got_gem()
        self.game.player_two_got_gem()
        self.assertEqual("1 - 1", self.game.gem_score)

    def create_score(self, player_one_scored, player_two_scored):
        for _ in range(player_one_scored):
            self.game.player_one_scored()
        for _ in range(player_two_scored):
            self.game.player_two_scored()

    def dual_score(self):
        self.create_score(4, 4)
        self.assertEqual('Deuce', self.game.score)
def test_winning_game_from_advantage():
    game = TennisGame(Scores.FORTY, Scores.ADVANTAGE)
    game.point_is_scored("receiver")
    assert (game.game_over == True and game.winner == 'receiver')
def test_full_game_with_deuce():
    game = TennisGame(Scores.LOVE, Scores.LOVE)
    game.point_is_scored("server")
    game.point_is_scored("server")
    game.point_is_scored("receiver")
    game.point_is_scored("server")
    game.point_is_scored("receiver")
    game.point_is_scored("receiver")
    game.point_is_scored("receiver")
    game.point_is_scored("server")
    game.point_is_scored("receiver")
    game.point_is_scored("receiver")
    assert (game.game_over == True and game.winner == 'receiver')
def test_winning_game():
    game = TennisGame(Scores.FORTY, Scores.THIRTY)
    game.point_is_scored("server")
    assert (game.game_over == True and game.winner == 'server')
def test_server_wins_first_point():
    game = TennisGame(Scores.LOVE, Scores.LOVE)
    game.point_is_scored("server")
    assert game.get_score_string() == "15:0"
def test_advantage():
    game = TennisGame(Scores.ADVANTAGE, Scores.FORTY)
    game.point_is_scored("receiver")
    assert game.get_score_string() == "DEUCE"
def test_deuce():
    game = TennisGame(Scores.FORTY, Scores.FORTY)
    game.point_is_scored("receiver")
    assert game.get_score_string() == "40:A"
def test_server_wins_point_30_30():
    game = TennisGame(Scores.THIRTY, Scores.THIRTY)
    game.point_is_scored("server")
    assert game.get_score_string() == "40:30"