예제 #1
0
 def test_game_over_all_stacks_completed(self):
     mock_game_state = create_autospec(GameState)
     mock_board = create_autospec(Board)
     mock_player = create_autospec(Player)
     gc = GameController([mock_player, mock_player])
     gc.master_game_state = mock_game_state
     gc.master_game_state.board = mock_board
     gc.master_game_state.board.fuse_tokens = 1
     # Max score for a default game. Need to update when we add wilds / configurable color counts.
     gc.master_game_state.board.compute_score.return_value = 25
     self.assertIs(gc.game_over(0, gc.master_game_state), True)
예제 #2
0
    def test_game_over_not_over_deck_empty(self):
        mock_deck = create_autospec(Deck)
        mock_deck.__len__.return_value = 0
        mock_player = create_autospec(Player)
        mock_game_state = create_autospec(GameState)
        mock_board = create_autospec(Board)
        gc = GameController([mock_player, mock_player])
        gc.deck = mock_deck
        gc.master_game_state = mock_game_state
        gc.master_game_state.board = mock_board
        gc.master_game_state.board.fuse_tokens = 1
        gc.master_game_state.board.game_almost_over = 0

        self.assertIs(gc.game_over(1, gc.master_game_state), False)
예제 #3
0
 def test_game_over_last_turn(self):
     # TODO: There's a more-clear way to manage game state and track final player turn.
     # TODO: Finish writing this test, then refactor. Might even need to move game_over to GameState
     # Note, this doesn't need to know about the actual deck
     mock_deck = create_autospec(Deck)
     mock_deck.__len__.return_value = 0
     mock_player = create_autospec(Player)
     mock_game_state = create_autospec(GameState)
     mock_board = create_autospec(Board)
     gc = GameController([mock_player, mock_player])
     gc.deck = mock_deck
     gc.master_game_state = mock_game_state
     gc.master_game_state.board = mock_board
     gc.master_game_state.board.fuse_tokens = 1
     gc.master_game_state.board.game_almost_over = 0
     self.assertIs(gc.game_over(0, gc.master_game_state), True)
예제 #4
0
 def test_game_over_no_fuse_tokens(self):
     mock_player = create_autospec(Player)
     gc = GameController([mock_player, mock_player])
     gc.master_game_state.board.fuse_tokens = 0
     self.assertIs(gc.game_over(0, gc.master_game_state), True)