def test_game_board_has_empty_spaces(): board = Board() for row in range(2, 6): board_row = board.board[row] for cell in board_row: assert '' == str(cell)
def create_game(): # form values player_one_value = get_arg("playerOneId") player_one_id = player_one_value.split(":")[0] player_one = None # load player with player_dao player_two_value = get_arg("playerTwoId") player_two_id = player_two_value.split(":")[0] player_two = None # load player with player_dao name = get_arg("name") # default values board = Board() board_id = board_dao.create(board) board = board_dao.find_by_id(board_id) start_date = datetime.now() game_data = {'move_count': 0, 'player_one_move_count': 0, 'player_two_move_count': 0, 'turn': 'player_one'} status = "New" game = Game(player_one=player_one, player_two=player_two, board=board, game_data=game_data, start_date=start_date, status=status, name=name) game_id = game_dao.create(game) _games = game_dao.find_all() return render_template('games.html', game_id=game_id, games=_games)
def test_cant_castle_king_move(): board = Board() board.board[7][3].piece.has_moved = True board.board[7][1].piece = None board.board[7][2].piece = None board.board[7][4].piece = None board.board[7][5].piece = None board.board[7][6].piece = None """ board wr0 wh0 wb0 wk0 wq0 wb0 wh0 wr0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### bp0 bp0 bp0 bp0 bp0 bp0 bp0 bp0 br0 ### ### bk1 ### ### ### br0 """ expected_hints = [[8, 5], [8, 6], [8, 7]] rook = board.board[7][7].piece hints = rook.hints(board.board) assert_lists_equivalent(expected_hints, hints)
def board(): board = Board() board.board[4][4].piece = King() board.board[4][5].piece = Pawn(is_white=False) board.board[6][5].piece = None board.board[7][1].piece = None board.board[7][2].piece = None board.board[7][3].piece = None board.board[7][5].piece = None board.board[7][6].piece = None """ board wr0 wh0 wb0 wk0 wq0 wb0 wh0 wr0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### wk0 bp0 ### ### ### ### ### ### ### ### ### ### bp0 bp0 bp0 bp0 bp0 ### bp0 bp0 br0 ### ### ### bq0 ### ### br0 """ return board
def chess(): board = Board() board_id = board_dao.create(board) player_one = get_arg('user') # pass board id into variable return render_template('chess.html', board=board, player_one=player_one, board_id=board_id)
def test_game_board_has_pawns(): board = Board() board_white_pawn_row = board.board[1] for cell in board_white_pawn_row: assert 'wp0' == str(cell) board_black_pawn_row = board.board[6] for cell in board_black_pawn_row: assert 'bp0' == str(cell)
def test_game_board_has_black_pieces(): expected_black_pieces = [ "br0", "bh0", "bb0", "bk0", "bq0", "bb0", "bh0", "br0" ] board = Board() black_row = board.board[7] for index, cell in enumerate(black_row): assert str(cell) == expected_black_pieces[index]
def test_game_board_has_white_pieces(): expected_white_pieces = [ "wr0", "wh0", "wb0", "wk0", "wq0", "wb0", "wh0", "wr0" ] board = Board() white_row = board.board[0] for index, cell in enumerate(white_row): assert str(cell) == expected_white_pieces[index]
def test_dao_create_and_find_boards(mongo_database): board = Board() board_dao = BoardDao(mongo_database) board_dao.create(board) board_id = board_dao.create(board) loaded_boards = board_dao.find_all() assert len(loaded_boards) > 1 assert len( [board for board in loaded_boards if board_id == str(board['_id'])])
def test_dao_update_board(mongo_database): original_board = Board() board_dao = BoardDao(mongo_database) board_id = board_dao.create(original_board) updated_board = board() board_dao.update(board_id, updated_board) loaded_board = board_dao.find_by_id(board_id) for row_index, row in enumerate(loaded_board.board): for cell_index, cell in enumerate(row): assert str(updated_board.board[row_index][cell_index]) == str(cell)
def test_dao_create_and_find_board(mongo_database): board = Board() board_dao = BoardDao(mongo_database) board_id = board_dao.create(board) loaded_board = board_dao.find_by_id(board_id) assert 8 == len(loaded_board.board) assert 8 == len(loaded_board.board[0]) for row_index, row in enumerate(loaded_board.board): for cell_index, cell in enumerate(row): assert str(board.board[row_index][cell_index]) == str(cell)
def board(): board = Board() # single move only board.board[1][1].piece = None board.board[2][1].piece = Pawn() board.board[2][1].piece.has_moved = True # piece block and attack black and not attack white board.board[1][3].piece = None board.board[3][3].piece = Pawn() board.board[3][3].piece.has_moved = True board.board[1][2].piece = None board.board[4][2].piece = Pawn() board.board[4][2].piece.has_moved = True board.board[6][3].piece = None board.board[4][3].piece = Pawn(is_white=False) board.board[4][3].piece.has_moved = True board.board[6][4].piece = None board.board[4][4].piece = Pawn(is_white=False) board.board[4][4].piece.has_moved = True board.board[6][5].piece = None board.board[2][5].piece = Pawn(is_white=False) board.board[2][5].piece.has_moved = True board.board[6][6].piece = None board.board[5][6].piece = Pawn(is_white=False) board.board[5][6].piece.has_moved = True board.board[6][7].piece = None board.board[2][7].piece = Pawn(is_white=False) board.board[2][7].piece.has_moved = True """ board wr0 wh0 wb0 wk0 wq0 wb0 wh0 wr0 wp0 ### ### ### wp0 wp0 wp0 wp0 ### wp1 ### ### ### bp1 ### bp1 ### ### ### wp1 ### ### ### ### ### ### wp1 bp1 bp1 ### ### ### ### ### ### ### ### ### bp1 ### bp0 bp0 bp0 ### ### ### ### ### br0 bh0 bb0 bk0 bq0 bb0 bh0 br0 """ return board
def board(): board = Board() board.board[0][1].piece = None board.board[4][3].piece = Knight() """ board wr0 ### wb0 wk0 wq0 wb0 wh0 wr0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### wh0 ### ### ### ### ### ### ### ### ### ### ### ### bp0 bp0 bp0 bp0 bp0 bp0 bp0 bp0 br0 bh0 bb0 bk0 bq0 bb0 bh0 br0 """ return board
def board(): board = Board() board.board[4][4].piece = Queen() """ board wr0 wh0 wb0 wk0 wq0 wb0 wh0 wr0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### wq0 ### ### ### ### ### ### ### ### ### ### ### bp0 bp0 bp0 bp0 bp0 bp0 bp0 bp0 br0 bh0 bb0 bk0 bq0 bb0 bh0 br0 """ return board
def board(): board = Board() board.board[0][5].piece = None board.board[4][4].piece = Bishop() board.board[4][4].piece.has_moved = True """ board wr0 wh0 wb0 wk0 wq0 ### wh0 wr0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### wb1 ### ### ### ### ### ### ### ### ### ### ### bp0 bp0 bp0 bp0 bp0 bp0 bp0 bp0 br0 bh0 bb0 bk0 bq0 bb0 bh0 br0 """ return board
def board(): board = Board() board.board[0][7].piece = None board.board[4][4].piece = Rook() board.board[7][1].piece = None board.board[7][2].piece = None board.board[7][4].piece = None board.board[7][5].piece = None board.board[7][6].piece = None """ board wr0 wh0 wb0 wk0 wq0 wb0 wh0 ### wp0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### wr0 ### ### ### ### ### ### ### ### ### ### ### bp0 bp0 bp0 bp0 bp0 bp0 bp0 bp0 br0 ### ### bk0 ### ### ### br0 """ return board
def test_move(): board = Board() board.board[3][3].piece = King() """ board wr0 wh0 wb0 wk0 wq0 wb0 wh0 wr0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 ### ### ### ### ### ### ### ### ### ### ### wk0 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### bp0 bp0 bp0 bp0 bp0 bp0 bp0 bp0 br0 bh0 bb0 bk0 bq0 bb0 bh0 br0 """ expected_hints = [ [3, 3], [3, 4], [3, 5], [4, 3], [4, 5], [5, 3], [5, 4], [5, 5] ] king = board.board[3][3].piece hints = king.hints(board.board) assert_lists_equivalent(expected_hints, hints)
def find_by_id(self, board_id): board_model = self._mongo_database.get(self._collection, board_id) board = Board.build_board(board_model['board']) board._id = board_model['_id'] return board
def test_castle_top(): board = Board() board.board[0][1].piece = None board.board[0][2].piece = None board.board[0][4].piece = None board.board[0][5].piece = None board.board[0][6].piece = None board.board[7][0].piece.has_moved = True board.board[7][1].piece = None board.board[7][2].piece = None board.board[7][4].piece = None board.board[7][5].piece = None board.board[7][6].piece = None board.board[7][7].piece.has_moved = True """ board wr0 ### ### wk0 ### ### ### wr0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 wp0 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### bp0 bp0 bp0 bp0 bp0 bp0 bp0 bp0 br1 ### ### bk0 ### ### ### br1 """ # top left expected_hints = [[1, 2], [1, 3], [1, 4]] rook = board.board[0][0].piece hints = rook.hints(board.board) assert_lists_equivalent(expected_hints, hints) # top right expected_hints = [[1, 4], [1, 5], [1, 6], [1, 7]] rook = board.board[0][7].piece hints = rook.hints(board.board) assert_lists_equivalent(expected_hints, hints) # bottom left expected_hints = [[8, 2], [8, 3]] rook = board.board[7][0].piece hints = rook.hints(board.board) assert_lists_equivalent(expected_hints, hints) # bottom right expected_hints = [[8, 5], [8, 6], [8, 7]] rook = board.board[7][7].piece hints = rook.hints(board.board) assert_lists_equivalent(expected_hints, hints) board.board[7][0].piece.has_moved = False board.board[7][7].piece.has_moved = False board.board[7][3].piece.has_moved = True # king
def test_board_init(): board = Board() assert 8 == len(board.board) for row in board.board: assert 8 == len(row)