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