Added CustomBoard.
[tagua/yd.git] / tests / hlvariants / chessgamestatetest.h
blob71f7ef857fccd775a0d275498daebe8cc889eb81
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"
12 // forward decl
13 namespace HLVariant {
14 template <typename Piece> class Board;
16 namespace Chess {
17 template <typename Board, typename Move> class GameState;
18 class Move;
19 class Piece;
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();
38 private:
39 ChessGameState* m_state;
40 public:
41 void setUp();
42 void tearDown();
44 void test_setup();
45 void test_simple_move();
46 void test_capture();
47 void test_en_passant();
48 void test_kingside_castling();
49 void test_queenside_castling();
50 void test_promotion();
53 #endif // CHESSGAMESTATETEST_H