Beispiel #1
0
    def setUpClass(cls):
        # create default mocks
        cls.word_generate = Mock()
        cls.char_inputter = Mock()
        cls.hangman_display = Mock()

        # configure mocks
        cls.word_generate.generate.return_value = "helpdev"

        # create default game
        cls.game = HangmanGame(cls.word_generate, cls.char_inputter, cls.hangman_display)
Beispiel #2
0
def run_game():
    """
    Os TODOs são para facilitar o desenvolvimente,
    sintam-se a vontade para criar o código do jeito que acharem melhor
    """

    word, clue = random.choice(base_dict.items())

    game = HangmanGame(word, clue)

    while not game.is_over():
        print_current_round(game)  # Função já definida que imprime na tela o jogo atual baseado na quantidade de vidas

        character = read_one_char()
        while character in game.list_of_letters:
            print "A letra {} ja foi digitada.".format(character)
            character = read_one_char()  # Função já definida usada pra ler uma letra do teclado

        game.list_of_letters.append(character)

        if not game.has_letter(character):
            game.lives -= 1

    sys.exit(0)  # acabou como queriamos
Beispiel #3
0
 def setUp(self):
     with patch('hangman_game.get_random_word', return_value='testing'):
         api.GAME = HangmanGame()
Beispiel #4
0
 def test_should_win_the_game_with_invalid_inputted(self):
     char_inputter = SuccessWithInvalidInputInCharInputterTest()
     hangman_display = SuccessHangmanDisplayTest()
     game = HangmanGame(self.word_generate, char_inputter, hangman_display)
     game.play()
     assert game.status() is HangmanGame.STATUS_WIN
Beispiel #5
0
 def test_should_lost_the_game(self):
     char_inputter = FailedCharInputterTest()
     game = HangmanGame(self.word_generate, char_inputter, self.hangman_display)
     game.play()
     assert game.status() is HangmanGame.STATUS_LOST
Beispiel #6
0
def main():
    HangmanGame(LastNameWordGenerator(), TerminalCharInputter(),
                TerminalHangmanDisplay()).play()
Beispiel #7
0
def start_game():
    global GAME
    GAME = HangmanGame()
    return jsonify({'status': 'success', 'message': 'Game is started'})
Beispiel #8
0
class TestHangmanGame(unittest.TestCase):
    def setUp(self):
        with patch('hangman_game.get_random_word', return_value='testing'):
            self.test_game = HangmanGame()

    def test_get_secret_word(self):
        self.assertEqual(self.test_game.get_secret_word(), 'testing')

    def test_get_latest_result_after_initialized(self):
        actual_result = self.test_game.get_latest_result()
        self.assertEqual(actual_result['latest_word_result'], '_ _ _ _ _ _ _')
        self.assertEqual(actual_result['number_of_available_guess'], 9)

    def test_update_state_with_a_char_exist_in_secret_word(self):
        self.test_game.update_state('t')
        actual_result = self.test_game.get_latest_result()
        self.assertEqual(actual_result['latest_word_result'], 't _ _ t _ _ _')
        self.assertEqual(actual_result['number_of_available_guess'], 9)

    def test_update_state_with_a_char_does_not_exist_in_secret_word(self):
        self.test_game.update_state('p')
        actual_result = self.test_game.get_latest_result()
        self.assertEqual(actual_result['latest_word_result'], '_ _ _ _ _ _ _')
        self.assertEqual(actual_result['number_of_available_guess'], 8)

    def test_update_state_with_a_wrong_word(self):
        self.test_game.update_state('testers')
        actual_result = self.test_game.get_latest_result()
        self.assertEqual(actual_result['latest_word_result'], '_ _ _ _ _ _ _')
        self.assertEqual(actual_result['number_of_available_guess'], 8)

    def test_update_state_with_a_correct_word(self):
        self.test_game.update_state('testing')
        actual_result = self.test_game.get_latest_result()
        self.assertEqual(actual_result['latest_word_result'], 't e s t i n g')
        self.assertEqual(actual_result['number_of_available_guess'], 9)

    def test_is_the_word_completed_return_false(self):
        self.assertFalse(self.test_game.is_the_word_completed())

    def test_is_the_word_completed_return_true(self):
        self.test_game.latest_result = 't e s t i n g'
        self.assertTrue(self.test_game.is_the_word_completed())