1 #include "chesslegalitytest.h"
2 #include "prototype/chess/legalitycheck.h"
5 CPPUNIT_TEST_SUITE_REGISTRATION(ChessLegalityTest
);
7 void ChessLegalityTest::setUp() {
8 m_state
= new ChessGameState
;
10 m_legality_check
= new ChessLegalityCheck(*m_state
);
13 void ChessLegalityTest::tearDown() {
15 delete m_legality_check
;
18 void ChessLegalityTest::test_simple_move() {
19 ChessMove
e4(Point(4, 6), Point(4, 4));
20 CPPUNIT_ASSERT(m_legality_check
->legal(e4
));
22 ChessMove
e3(Point(4, 6), Point(4, 3));
23 CPPUNIT_ASSERT(!m_legality_check
->legal(e3
));
25 ChessMove
Nf3(Point(6, 7), Point(5, 5));
26 CPPUNIT_ASSERT(m_legality_check
->legal(Nf3
));
28 ChessMove
Bc4(Point(5, 7), Point(2, 4));
29 CPPUNIT_ASSERT(!m_legality_check
->legal(Bc4
));
31 ChessMove
tmp(Point(5, 7), Point(2, 4));
32 m_state
->board().set(Point(4, 6), ChessPiece());
33 CPPUNIT_ASSERT(m_legality_check
->legal(tmp
));