1--TEST--
2Games_Chess->moveSAN() castling kingside (white)
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$err = $board->addPiece('W', 'R', 'h1');
13$phpunit->assertFalse(is_object($err), 'adding W rook failed');
14$err = $board->addPiece('W', 'K', 'e1');
15$phpunit->assertFalse(is_object($err), 'adding W king failed');
16$err = $board->moveSAN('O-O');
17$phpunit->assertFalse(is_object($err), 'castling kingside failed');
18if (is_object($err)) {
19    $phpunit->assertEquals($err->message,'');
20}
21$phpunit->assertTrue($board->_BCastleQ, 'BQ cleared');
22$phpunit->assertTrue($board->_BCastleK, 'BK cleared');
23$phpunit->assertFalse($board->_WCastleQ, 'WQ not cleared');
24$phpunit->assertFalse($board->_WCastleK, 'WK not cleared');
25$phpunit->assertEquals(7, $board->_halfMoves, 'half moves did not increment');
26$phpunit->assertEquals('B', $board->_move, 'move color did not increment');
27$phpunit->assertEquals(1, $board->_moveNumber, 'move number changed');
28$phpunit->assertEquals('-', $board->_enPassantSquare, 'en passant not reset');
29echo 'tests done';
30?>
31--EXPECT--
32tests done