HooverChessUtils_PgnReader 0.9.0
Loading...
Searching...
No Matches
Namespaces | Macros | Functions
chessboard-test-playmove-helper.h File Reference
#include "chessboard.h"
#include "pgnreader-string-utils.h"
#include "gtest/gtest.h"
Include dependency graph for chessboard-test-playmove-helper.h:

Go to the source code of this file.

Namespaces

namespace  hoover_chess_utils
 
namespace  hoover_chess_utils::pgn_reader
 
namespace  hoover_chess_utils::pgn_reader::unit_test
 

Macros

#define PLAY_MOVE(board, MoveFunction, ...)
 
#define PLAY_MOVE_EXPECT_NO_MOVES(board, MoveFunction, ...)
 

Functions

template<typename ... Args>
void hoover_chess_utils::pgn_reader::unit_test::playMove (ChessBoard &board, std::size_t expectNumMoves, std::size_t(ChessBoard::*generateMovesFn)(ShortMoveList &moves, SquareSet, Square, Args ...) const noexcept, Move(ChessBoard::*generateSingleMoveFn)(SquareSet, Square, Args ...) const noexcept, SquareSet srcSqMask, Square dstSq, Args &&... args)
 
void hoover_chess_utils::pgn_reader::unit_test::playMove (ChessBoard &board, std::size_t expectNumMoves, std::size_t(ChessBoard::*generateMovesFn)(ShortMoveList &moves) const noexcept, Move(ChessBoard::*generateSingleMoveFn)() const noexcept)
 

Macro Definition Documentation

◆ PLAY_MOVE

#define PLAY_MOVE (   board,
  MoveFunction,
  ... 
)
Value:
board, \
1U, \
&hoover_chess_utils::pgn_reader::ChessBoard::generateMovesFor ## MoveFunction, \
&hoover_chess_utils::pgn_reader::ChessBoard::generateSingleMoveFor ## MoveFunction \
__VA_OPT__(,) __VA_ARGS__)
void playMove(ChessBoard &board, std::size_t expectNumMoves, std::size_t(ChessBoard::*generateMovesFn)(ShortMoveList &moves, SquareSet, Square, Args ...) const noexcept, Move(ChessBoard::*generateSingleMoveFn)(SquareSet, Square, Args ...) const noexcept, SquareSet srcSqMask, Square dstSq, Args &&... args)
Definition chessboard-test-playmove-helper.h:31

◆ PLAY_MOVE_EXPECT_NO_MOVES

#define PLAY_MOVE_EXPECT_NO_MOVES (   board,
  MoveFunction,
  ... 
)
Value:
board, \
0U, \
&hoover_chess_utils::pgn_reader::ChessBoard::generateMovesFor ## MoveFunction, \
&hoover_chess_utils::pgn_reader::ChessBoard::generateSingleMoveFor ## MoveFunction \
__VA_OPT__(,) __VA_ARGS__)