Example #1
0
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
Example #2
0
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)
Example #3
0
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
Example #4
0
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
Example #5
0
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
Example #6
0
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()
Example #7
0
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
Example #8
0
def test_mask_word_is_str():
    from hangman.round import Round
    rounds = Round('banana')
    assert isinstance(rounds.mask_word(), str)
Example #9
0
def test_mask_word():
    from hangman.round import Round
    rounds = Round('banana')
    assert rounds.mask_word() == '_ _ _ _ _ _'