def test_get_possible_moves_boese07(self): board = Board("""\ 2 1 0 0 8 11 - - - - - - 1 - - - - - - - - - - 2 - - - - - 2 2 2 2 2 2 2 1 1 0 - - - - - - 2 - - - - - - - - - - 2 - - - - - - - - - - 2 - - - - - - - - - - 2 - - - - - - - - - - 2 - - - - 1 2 6 <-> 6 7 4 """) game = GameState(board) next_game_states = game.get_possible_moves_on_position((6, 2), player=PLAYER_ONE, use_overwrite=True) self.assertEqual(1, len(next_game_states)) self.assert_board(next_game_states[0].board, [[HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, PLAYER_ONE, HOLE, HOLE, HOLE, HOLE], [HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, PLAYER_ONE, HOLE, HOLE, HOLE, HOLE], [HOLE, PLAYER_TWO, PLAYER_TWO, PLAYER_TWO, PLAYER_TWO, PLAYER_TWO, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, EMPTY], [HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, PLAYER_TWO, HOLE, HOLE, HOLE, HOLE], [HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, PLAYER_TWO, HOLE, HOLE, HOLE, HOLE], [HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, PLAYER_TWO, HOLE, HOLE, HOLE, HOLE], [HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, PLAYER_TWO, HOLE, HOLE, HOLE, HOLE], [HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, PLAYER_TWO, HOLE, HOLE, HOLE, HOLE]])
def test_get_possible_moves_boese_lost_trace(self): board = Board("""\ 2 0 0 0 8 9 - - - - - - - - - - - 2 - - - 2 - - - 2 2 2 0 2 2 2 - - - 2 - - - 2 - - - - 2 - - - 2 - - - - 2 - - - 2 - - - - 1 - - - 1 - - - - - - - - - - - 7 2 2 <-> 2 1 0 1 2 6 <-> 6 1 0 """) game = GameState(board) next_game_states = game.get_possible_moves_on_position((4, 2), player=PLAYER_ONE, use_overwrite=True) self.assertEqual(1, len(next_game_states)) self.assert_board(next_game_states[0].board, [[HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, HOLE], [HOLE, HOLE, PLAYER_ONE, HOLE, HOLE, HOLE, PLAYER_ONE, HOLE, HOLE], [HOLE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, HOLE], [HOLE, HOLE, PLAYER_ONE, HOLE, HOLE, HOLE, PLAYER_ONE, HOLE, HOLE], [HOLE, HOLE, PLAYER_ONE, HOLE, HOLE, HOLE, PLAYER_ONE, HOLE, HOLE], [HOLE, HOLE, PLAYER_ONE, HOLE, HOLE, HOLE, PLAYER_ONE, HOLE, HOLE], [HOLE, HOLE, PLAYER_ONE, HOLE, HOLE, HOLE, PLAYER_ONE, HOLE, HOLE], [HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, HOLE, HOLE]])
def test_get_possible_moves_boese02(self): board = Board("""\ 2 0 0 0 2 10 2 2 2 0 2 2 2 2 2 2 - - - - - 1 2 0 - - 0 0 6 <-> 9 0 2 """) game = GameState(board) next_game_states = game.get_possible_moves_on_position((3, 0), player=PLAYER_ONE) self.assertEqual(0, len(next_game_states))
def test_get_possible_moves_boese03(self): board = Board("""\ 2 0 0 0 2 10 2 2 2 1 0 2 2 2 2 2 - - - - 0 1 2 0 - - 0 0 6 <-> 9 0 2 """) game = GameState(board) next_game_states = game.get_possible_moves_on_position((4, 0), player=PLAYER_ONE) self.assertEqual(1, len(next_game_states)) self.assert_board(next_game_states[0].board, [[PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE, PLAYER_ONE], [HOLE, HOLE, HOLE, HOLE, EMPTY, PLAYER_ONE, PLAYER_TWO, EMPTY, HOLE, HOLE]])
def test_get_possible_moves_eight_player_inversion(self): board = Board("""\ 8 0 0 0 3 3 5 4 1 6 2 3 i 7 8 """) game = GameState(board) next_game_states = game.get_possible_moves_on_position((0, 2), player=PLAYER_ONE) self.assertEqual(1, len(next_game_states)) self.assert_board(next_game_states[0].board, [[PLAYER_SIX, PLAYER_FIVE, PLAYER_TWO], [PLAYER_SEVEN, PLAYER_TWO, PLAYER_FOUR], [PLAYER_TWO, PLAYER_EIGHT, PLAYER_ONE]])
def test_get_possible_moves_five_player_inversion(self): board = Board("""\ 5 0 0 0 3 3 5 4 1 0 2 3 i 0 0 """) game = GameState(board) next_game_states = game.get_possible_moves_on_position((0, 2), player=PLAYER_ONE) self.assertEqual(1, len(next_game_states)) self.assert_board(next_game_states[0].board, [[PLAYER_ONE, PLAYER_FIVE, PLAYER_TWO], [EMPTY, PLAYER_TWO, PLAYER_FOUR], [PLAYER_TWO, EMPTY, EMPTY]])
def test_get_possible_moves_boese_reflect(self): board = Board("""\ 2 1 0 0 9 4 - - - - - - - 2 - - - 2 - - - 2 - - - 1 - - - 0 - - - 0 - - - 0 - - - 0 3 1 0 <-> 3 1 0 """) game = GameState(board) next_game_states = game.get_possible_moves_on_position((3, 4), player=PLAYER_ONE, use_overwrite=True) self.assertEqual(0, len(next_game_states))
def test_get_possible_moves_boese04(self): board = Board("""\ 2 0 0 0 4 3 0 0 0 0 2 2 1 0 2 2 2 2 2 3 4 <-> 2 3 2 0 2 5 <-> 0 3 6 """) game = GameState(board) next_game_states = game.get_possible_moves_on_position((2, 0), player=PLAYER_ONE) self.assertEqual(1, len(next_game_states)) self.assert_board(next_game_states[0].board, [[EMPTY, EMPTY, PLAYER_ONE], [EMPTY, PLAYER_ONE, PLAYER_ONE], [PLAYER_ONE, EMPTY, PLAYER_ONE], [PLAYER_ONE, PLAYER_ONE, PLAYER_ONE]])