1 #ifndef CHESSGAMESTATETEST_H
2 #define CHESSGAMESTATETEST_H
4 #include <cppunit/extensions/HelperMacros.h>
5 #include <cppunit/TestCaller.h>
6 #include <cppunit/TestResult.h>
7 #include <cppunit/TestFixture.h>
8 #include <cppunit/TestAssert.h>
10 #include "hlvariant/customboard.h"
14 template <typename Piece
> class Board
;
17 template <typename Board
, typename Move
> class GameState
;
23 typedef HLVariant::Chess::Move ChessMove
;
24 typedef HLVariant::Chess::Piece ChessPiece
;
25 typedef HLVariant::CustomBoard
<8, 8, ChessPiece
> Chessboard
;
26 typedef HLVariant::Chess::GameState
<Chessboard
, ChessMove
> ChessGameState
;
28 class ChessGameStateTest
: public CppUnit::TestFixture
{
29 CPPUNIT_TEST_SUITE(ChessGameStateTest
);
30 CPPUNIT_TEST(test_setup
);
31 CPPUNIT_TEST(test_simple_move
);
32 CPPUNIT_TEST(test_capture
);
33 CPPUNIT_TEST(test_en_passant
);
34 CPPUNIT_TEST(test_kingside_castling
);
35 CPPUNIT_TEST(test_queenside_castling
);
36 CPPUNIT_TEST(test_promotion
);
37 CPPUNIT_TEST_SUITE_END();
39 ChessGameState
* m_state
;
45 void test_simple_move();
47 void test_en_passant();
48 void test_kingside_castling();
49 void test_queenside_castling();
50 void test_promotion();
53 #endif // CHESSGAMESTATETEST_H