1--TEST--
2Games_Chess_Crazyhouse->moveSAN() queenside castling (black)
3--SKIPIF--
4--FILE--
5<?php
6require_once dirname(__FILE__) . '/setup.php.inc';
7$board->_WCastleQ = $board->_WCastleK = true;
8$board->_BCastleQ = $board->_BCastleK = true;
9$board->_halfMoves = 6;
10$board->_moveNumber = 1;
11$board->_enPassantSquare = 'e3';
12$board->_move = 'B';
13$err = $board->addPiece('B', 'R', 'a8');
14$phpunit->assertTrue($err, 'adding B rook failed');
15$err = $board->addPiece('B', 'K', 'e8');
16$phpunit->assertTrue($err, 'adding B king failed');
17$err = $board->moveSAN('O-O-O');
18$phpunit->assertTrue($err, 'castling kingside failed');
19if (is_object($err)) {
20    $phpunit->assertEquals($err->message,'');
21}
22$phpunit->assertTrue($board->_WCastleQ, 'WQ cleared');
23$phpunit->assertTrue($board->_WCastleK, 'WK cleared');
24$phpunit->assertFalse($board->_BCastleQ, 'BQ not cleared');
25$phpunit->assertFalse($board->_BCastleK, 'BK not cleared');
26$phpunit->assertEquals(7, $board->_halfMoves, 'half moves did not increment');
27$phpunit->assertEquals('W', $board->_move, 'move color did not increment');
28$phpunit->assertEquals(2, $board->_moveNumber, 'move number changed');
29$phpunit->assertEquals('-', $board->_enPassantSquare, 'en passant not reset');
30echo 'tests done';
31?>
32--EXPECT--
33tests done