def test_white_king_checked_by_black_queen_diagonal(): # Arrange board = Board.empty() king = King(Player.WHITE) king_square = Square.at(2, 3) board.set_piece(king_square, king) enemy = Queen(Player.BLACK) enemy_square = Square.at(1, 2) board.set_piece(enemy_square, enemy) # Act check = king.is_in_check(board) # Assert assert check is True
def test_white_king_checked_by_black_knight(): # Arrange board = Board.empty() king = King(Player.WHITE) king_square = Square.at(2, 3) board.set_piece(king_square, king) enemy = Knight(Player.BLACK) enemy_square = Square.at(1, 1) board.set_piece(enemy_square, enemy) # Act # check if current square is in check? check = king.is_in_check(board) # Assert assert check is True
def test_white_king_not_in_check(): # Arrange board = Board.empty() king = King(Player.WHITE) king_square = Square.at(2, 3) board.set_piece(king_square, king) enemy_pawn = Pawn(Player.BLACK) enemy_pawn_square = Square.at(3, 3) board.set_piece(enemy_pawn_square, enemy_pawn) enemy_rook = Rook(Player.BLACK) enemy_rook_square = Square.at(3, 4) board.set_piece(enemy_rook_square, enemy_rook) enemy_bishop = Bishop(Player.BLACK) enemy_bishop_square = Square.at(1, 3) board.set_piece(enemy_bishop_square, enemy_bishop) enemy_knight = Knight(Player.BLACK) enemy_knight_square = Square.at(7, 7) board.set_piece(enemy_knight_square, enemy_knight) enemy_queen = Queen(Player.BLACK) enemy_queen_square = Square.at(3, 0) board.set_piece(enemy_queen_square, enemy_queen) enemy_king = King(Player.BLACK) enemy_king_square = Square.at(6, 6) board.set_piece(enemy_king_square, enemy_king) # Act check = king.is_in_check(board) # Assert assert check is False