def test_button_mashing(self): game = HangmanGame(word='moo') for event in string.lowercase.replace('o', ''): game.event(event) game.event('o') self.assertTrue(game.won()) self.assertEqual(game.state(), "moo:%s:Button mashing!" % string.lowercase)
def test_new_game(self): game = HangmanGame(word='moo') for event in ('m', 'o', '-'): game.event(event) self.assertEqual(game.state(), 'moo:mo:Flawless victory!') self.assertEqual(game.exit_code, game.DONE_WANTS_NEW)
def test_incorrect_guesses(self): game = HangmanGame(word='moo') game.event('f') game.event('g') self.assertFalse(game.won()) self.assertTrue(game.state().startswith("moo:fg:Word contains no"))
def test_repeated_guesses(self): game = HangmanGame(word='moo') game.event('f') game.event('f') self.assertFalse(game.won()) self.assertTrue(game.state().startswith("moo:f:You've already"))
def test_easy_game(self): game = HangmanGame(word='moo') game.event('m') game.event('o') self.assertTrue(game.won()) self.assertTrue(game.state().startswith("moo:mo:Flawless"))