Ejemplo n.º 1
0
def test_6th_guess_reveals_word(puzzle):
    guesses = [
        g for g in string.ascii_uppercase if g not in puzzle['actual_word']
    ]
    for g in guesses[:6]:
        res = make_guess(puzzle, g)
    assert 'actual_word' in res[
        'new_state'], "expected 6th guess to reveal word"
Ejemplo n.º 2
0
def test_guess_hides_word(puzzle, guess):
    res = make_guess(puzzle, guess)
    assert 'actual_word' not in res[
        'new_state'], "expected actual_word' to have been hidden"
Ejemplo n.º 3
0
def test_already_solved_guess(puzzle, letter):
    for g in set(puzzle['actual_word']):
        make_guess(puzzle, g)
    assertRaises(make_guess, puzzle, letter)
Ejemplo n.º 4
0
def test_too_many_guesses_fails():
    p = new_puzzle()
    guesses = [g for g in string.ascii_uppercase if g not in p['actual_word']]
    for g in guesses[:6]:
        make_guess(p, g)
    assertRaises(make_guess, p, guesses[6])
Ejemplo n.º 5
0
def test_repeat_guess_fails(puzzle, letter):
    make_guess(puzzle, letter)
    assertRaises(make_guess, puzzle, letter)
Ejemplo n.º 6
0
def test_uppercase_and_lowercase_equivalent(puzzle, guess):
    puzzle2 = copy.deepcopy(puzzle)
    res = make_guess(puzzle, guess.lower())
    res2 = make_guess(puzzle2, guess.upper())
    assert res == res2, "expected upper- and lower-case case to produce equivalent results"