def test_validate_origin_coordinates_location_method_valid(self, color, coords): piece = Rook(color, (0, 0)) piece.captured = True self.game.white_captures.append(piece) self.game.black_captures.append(piece) self.game.playerturn = color for coord in coords: row, col = coord self.assertTrue(self.game.validate_origin_coordinates_location(row, col)) self.assertEqual(self.game.error, "")
def test_rook_creation(self, color, orientation, position): rook = Rook(color, position) self.assertEqual(rook.color, color) self.assertEqual(rook.name, "R") self.assertFalse(rook.promoted) self.assertFalse(rook.set_for_promotion) self.assertFalse(rook.captured) self.assertEqual(str(rook), f" R{orientation}")
def test_current_player_captures_method(self): self.game.playerturn = "white" white_piece = Rook("white", (0, 0)) self.game.white_captures.append(white_piece) self.assertEqual(self.game.current_player_captures(), [white_piece]) self.game.playerturn = "black" black_piece = Bishop("black", (0, 0)) self.game.black_captures.append(black_piece) self.assertEqual(self.game.current_player_captures(), [black_piece])
def test_validate_destination_coordinates_method(self, color, coords): piece = Rook(color, (9, 0)) piece.captured = True self.game.white_captures.append(piece) self.game.black_captures.append(piece) self.game.playerturn = color origin, invalid_row, invalid_col, invalid_int, invalid_move, invalid_drop = coords self.game.play_origin(origin[0], origin[1]) self.assertFalse(self.game.validate_destination_coordinates(invalid_row[0], invalid_row[1])) self.assertEqual(self.game.error, "Row value is not between 0-8!") self.assertFalse(self.game.validate_destination_coordinates(invalid_col[0], invalid_col[1])) self.assertEqual(self.game.error, "Column Value is not between 0-8!") self.assertFalse(self.game.validate_destination_coordinates(invalid_int[0], invalid_int[1])) self.assertEqual(self.game.error, "Only Numbers are accepted, no letters or empty spaces!") self.assertFalse(self.game.validate_destination_coordinates(invalid_move[0], invalid_move[1])) self.assertEqual(self.game.error, "That's not a valid movement!") self.game.play_origin(9, 0) self.assertFalse(self.game.validate_destination_coordinates(invalid_drop[0], invalid_drop[1])) self.assertEqual(self.game.error, "You cant drop this Piece there!")
def test_clean_lifted_piece_origin_location_method(self, color, coords): piece = Rook(color, (9, 0)) piece.captured = True self.game.playerturn = color self.game.current_player_captures().append(piece) for coord in coords: row, col = coord self.game.playerturn = color self.game.play_origin(row, col) self.assertEqual(self.game.board[row][col], self.game.lifted_piece) self.assertEqual(self.game.board[row][col].position, self.game.lifted_piece_coordinates) self.game.clean_lifted_piece_origin_location() self.assertEqual(self.game.board[row][col], " ") self.assertEqual(self.game.lifted_piece_coordinates, ("", "")) self.game.play_origin(9, 0) self.assertEqual(piece, self.game.lifted_piece) self.assertEqual((9, 0), self.game.lifted_piece_coordinates) self.assertTrue(piece in self.game.current_player_captures()) self.game.clean_lifted_piece_origin_location() self.assertEqual(("", ""), self.game.lifted_piece_coordinates) self.assertFalse(piece in self.game.current_player_captures())
def test_lift_piece_method(self, color, coords): piece = Rook(color, (9, 0)) self.game.white_captures.append(piece) self.game.black_captures.append(piece) self.game.playerturn = color for coord in coords: row, col = coord self.game.lift_piece_for_movement(row, col) if row == 9: self.assertEqual(self.game.lifted_piece, piece) else: self.assertEqual(self.game.lifted_piece, self.game.board[row][col]) self.assertEqual(self.game.lifted_piece_coordinates, (row, col))
def test_rook_moves_unpromoted(self, color, valid, obstacle, capture): self.game.board = self.sample_board self.game.board[4][4] = Rook(color, (4, 4)) self.assertEqual( self.game.board[4][4].movement_unpromoted(self.game.board), valid) self.game.board[4][2] = self.game.board[4][6] = Pawn(color, (1, 1)) self.assertEqual( self.game.board[4][4].movement_unpromoted(self.game.board), obstacle) self.game.board[4][2] = self.game.board[4][6] = Pawn("color", (1, 1)) self.assertEqual( self.game.board[4][4].movement_unpromoted(self.game.board), capture)
def test_filter_moves_rook_method(self, color, coords_n, coords_w, coords_e, coords_s): moves_n, filtered_moves_n = coords_n moves_w, filtered_moves_w = coords_w moves_e, filtered_moves_e = coords_e moves_s, filtered_moves_s = coords_s self.game.board = self.sample_board self.game.board[4][4] = Rook(color, (4, 4)) self.game.board[2][4] = Pawn("white", (2, 4)) self.game.board[4][2] = Pawn("black", (4, 2)) self.game.board[4][6] = Pawn("white", (4, 6)) self.game.board[6][4] = Pawn("black", (6, 4)) self.assertEqual(self.game.board[4][4].filter_moves(moves_n, self.game.board), filtered_moves_n) self.assertEqual(self.game.board[4][4].filter_moves(moves_w, self.game.board), filtered_moves_w) self.assertEqual(self.game.board[4][4].filter_moves(moves_e, self.game.board), filtered_moves_e) self.assertEqual(self.game.board[4][4].filter_moves(moves_s, self.game.board), filtered_moves_s)