def test_check_letter_success():
    hangman = Hangman()
    hangman.check_letter(hangman.secret_word[0].capitalize())
    letter_lower = hangman.secret_word[0].lower()
    assert letter_lower in hangman.used_letters
    assert hangman.gamer_word[0] == letter_lower
    assert hangman.user_mistakes == 0
def test_check_letter_success_testword():
    hangman = Hangman()
    hangman.secret_word = 'Abracadabra'
    hangman.gamer_word = [
        '_',
        '_',
        '_',
        '_',
        '_',
        '_',
        '_',
        '_',
        '_',
        '_',
        '_',
    ]
    hangman.check_letter('a')
    assert hangman.gamer_word == [
        'a',
        '_',
        '_',
        'a',
        '_',
        'a',
        '_',
        'a',
        '_',
        '_',
        'a',
    ]
    assert 'a' in hangman.used_letters
    assert hangman.user_mistakes == 0
def test_check_letter_not_success():
    hangman = Hangman()
    letter_not_in = ""
    for i in range(97, 123):
        if chr(i) not in hangman.secret_word.lower():
            letter_not_in = chr(i)
            break
    hangman.check_letter(letter_not_in)
    assert letter_not_in in hangman.used_letters
    assert letter_not_in not in hangman.gamer_word
    assert hangman.user_mistakes == 1
def test_valid_letter_is_repeated():
    hangman = Hangman()
    hangman.check_letter(hangman.secret_word[0])
    valid_letter = hangman.valid_letter(hangman.secret_word[0])
    assert not valid_letter
def test_end_game_in_process():
    hangman = Hangman()
    hangman.user_mistakes = ATTEMPTS - 1
    hangman.check_letter(hangman.secret_word[0])
    assert not hangman.end_game()