TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s
Checking if the player has won
48 lines
984 B
Python
48 lines
984 B
Python
from hangman.constants import WORD_LIST
|
|
from hangman.game import Game, choose_word, is_in_word
|
|
|
|
|
|
def test_choose_word_from_list():
|
|
assert choose_word(["Cat"]) == "cat"
|
|
assert choose_word() in WORD_LIST
|
|
|
|
|
|
def test_letter_in_word():
|
|
assert is_in_word("camel", "a")
|
|
assert is_in_word("camel", "A")
|
|
|
|
|
|
def test_letter_not_in_word():
|
|
assert not is_in_word("camel", "z")
|
|
|
|
|
|
def test_display_starts_blank():
|
|
assert Game("cat").display() == "_ _ _"
|
|
|
|
|
|
def test_correct_guess_reveals_letters():
|
|
g = Game("banana")
|
|
assert g.guess("a") is True
|
|
assert g.display() == "_ a _ a _ a"
|
|
|
|
|
|
def test_wrong_guess_keeps_blanks():
|
|
g = Game("cat")
|
|
assert g.guess("z") is False
|
|
assert g.display() == "_ _ _"
|
|
|
|
|
|
def test_not_won_until_all_letters_guessed():
|
|
g = Game("hi")
|
|
assert not g.won
|
|
g.guess("h")
|
|
assert not g.won
|
|
g.guess("i")
|
|
assert g.won
|
|
|
|
|
|
def test_wrong_guesses_do_not_win():
|
|
g = Game("hi")
|
|
g.guess("x")
|
|
assert not g.won
|