def test_draw_result(): from hangman.round import Round solved = Round(word='') if solved.is_word_solved(): result = inspect.getsource(solved.draw_result) assert "print('Word is solved, a point goes to you!')" in result assert "print('Word is not solved, point goes to your opponent.')" in result
def start_game(): game = Game() player1 = HumanPlayer() player2_class = player1.select_other_player() player2 = player2_class() while True: winner = game.get_winner() if winner: print('Winner is {}'.format(winner)) break if player1.should_change_turns(): print('Changed turns!') player1, player2 = player2, player1 print('Guessing: {}, opponent: {}'.format( player1.id, player2.id, )) word = player1.quess_new_word() current_round = Round(word) print('New word is guessed!') while not current_round.is_finished(): print(current_round.mask_word()) current_round.draw_field() print() letter = input('Letter: ') current_round.try_letter(letter) current_round.draw_result() game.add_round(current_round, player1, player2)
def test_is_lost(): from hangman.round import Round solveds = Round(word='') tries = solveds.tries = 0 max_wrong = solveds.max_wrong_tries = 6 assert solveds.is_lost() is False trie = solveds.tries = 7 assert solveds.is_lost() is True
def test_try_letter(): from hangman.round import Round solved = Round(word='asd') solved.tries = 1 solved.try_letter(letter='a') assert solved.tries is 1 solved.try_letter(letter='b') assert solved.tries is 2
def test_is_word_solved(): from hangman.round import Round solved = Round(word='') assert solved.empty_mark == '_' assert solved.is_word_solved() is True solveds = Round(word='cat') assert solveds.is_word_solved() is False
def test_mask_word(): from hangman.round import Round solved = Round(word='aaaddd') c = Counter(solved.mask_word()) assert c['_'] == len(solved.word) assert '_' in solved.mask_word()
def test_is_finished(): from hangman.round import Round solveds = Round(word='') assert solveds.is_finished() is True solved = Round(word='cat') assert solved.is_finished() is False
def test_mask_word_is_str(): from hangman.round import Round rounds = Round('banana') assert isinstance(rounds.mask_word(), str)
def test_mask_word(): from hangman.round import Round rounds = Round('banana') assert rounds.mask_word() == '_ _ _ _ _ _'