Example #1
0
    def test_when_play_turn_then_players_play_is_called(self, mocked_player):
        mocked_player.play_turn.return_value = []
        turn = Turn(player=mocked_player)

        turn.play_turn()

        mocked_player.play_turn.assert_called()
Example #2
0
    def test_when_player_plays_cards_then_player_passed_is_false(
            self, mocked_player):
        mocked_player.play_turn.return_value = [PresidentCard(HEARTS, '3')]
        turn = Turn(player=mocked_player)

        turn.play_turn()

        self.assertEqual(False, turn.player_passed)
Example #3
0
    def test_when_player_plays_no_cards_then_player_passed_is_true(
            self, mocked_player):
        mocked_player.play_turn.return_value = []
        turn = Turn(player=mocked_player)

        turn.play_turn()

        self.assertEqual(True, turn.player_passed)
Example #4
0
    def _thread_body(self):
        """
        Thread body for the game thread
        """
        # Set up the board
        setup_phase = Setup(self._game)
        setup_phase.execute()

        # While both players are alive, execute turns
        while (not self._stop) and not self._game.is_over():
            turn = Turn(self._game)
            turn.execute()
Example #5
0
    def test_when_player_plays_cards_then_cards_played_is_updated_to_cards(
            self, mocked_player):
        cards_played = [
            PresidentCard(HEARTS, '3'),
            PresidentCard(SPADES, '3'),
        ]
        mocked_player.play_turn.return_value = cards_played
        turn = Turn(player=mocked_player)

        turn.play_turn()

        self.assertListEqual(cards_played, turn.cards_played)
Example #6
0
    def _thread_body(self):
        """
        Thread body for the game thread
        """
        # Set up the board
        setup_phase = Setup(self._game)
        setup_phase.execute()

        # While both players are alive, execute turns
        while (not self._stop) and not self._game.is_over():
            turn = Turn(self._game)
            turn.execute()
Example #7
0
    def play_round(self):
        while not self.round_over:
            # self.__print_board()
            # self.__print_last_play()
            active_player = self.player_cycle.active_player
            current_turn = Turn(active_player)
            current_turn.play_turn()

            if current_turn.player_passed:
                self.player_cycle.remove_active_player()

            if not current_turn.player_passed:
                game_settings.validate_cards(current_turn.cards_played,
                                             self.last_played)
                self.turns.append(current_turn)

            if active_player.has_no_cards:
                self.player_cycle.remove_active_player()

            next(self.player_cycle)
Example #8
0
    def test_when_player_passed_is_called_before_play_turn_then_player_passed_returns_false(
            self):
        player = StandardPlayer('Brandon')
        turn = Turn(player=player)

        self.assertEqual(False, turn.player_passed)
Example #9
0
    def test_when_class_is_constructed_then_player_is_not_None(self):
        player = StandardPlayer('Brandon')
        turn = Turn(player=player)

        self.assertNotEqual(None, turn.player)