1--TEST--
2Games_Chess_Crazyhouse->moveSAN() move rook
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$err = $board->addPiece('W', 'R', 'a1');
10$phpunit->assertTrue($err, 'adding W rook 1 failed');
11$err = $board->moveSAN('Ra3');
12$phpunit->assertTrue($err, 'moving W rook 1 failed');
13$phpunit->assertTrue($board->_BCastleQ, 'BQ cleared 1');
14$phpunit->assertTrue($board->_BCastleK, 'BK cleared 1');
15$phpunit->assertFalse($board->_WCastleQ, 'WQ not cleared 1');
16$phpunit->assertTrue($board->_WCastleK, 'WK cleared 1');
17$board->_QCastleW = $board->_QCastleB = true;
18$board->_KCastleW = $board->_KCastleB = true;
19$board->resetGame();
20$board->blankBoard();
21$err = $board->addPiece('W', 'R', 'h1');
22$phpunit->assertTrue($err, 'adding W rook 2 failed');
23$err = $board->moveSAN('Rh8');
24$phpunit->assertTrue($err, 'moving W rook 2 failed');
25$phpunit->assertTrue($board->_BCastleQ, 'BQ cleared 2');
26$phpunit->assertTrue($board->_BCastleK, 'BK cleared 2');
27$phpunit->assertTrue($board->_WCastleQ, 'WQ cleared 2');
28$phpunit->assertFalse($board->_WCastleK, 'WK not cleared 2');
29
30$board->resetGame();
31$board->blankBoard();
32$board->_move = 'B';
33$board->_WCastleQ = $board->_WCastleK = true;
34$board->_BCastleQ = $board->_BCastleK = true;
35$err = $board->addPiece('B', 'R', 'a8');
36$phpunit->assertTrue($err, 'adding B rook 1 failed');
37$err = $board->addPiece('B', 'R', 'h8');
38$phpunit->assertTrue($err, 'adding B rook 2 failed');
39$err = $board->moveSAN('Ra6');
40$phpunit->assertTrue($err, 'moving B rook 1 failed');
41$phpunit->assertFalse($board->_BCastleQ, 'BQ not cleared 3');
42$phpunit->assertTrue($board->_BCastleK, 'BK cleared 3');
43$phpunit->assertTrue($board->_WCastleQ, 'WQ cleared 3');
44$phpunit->assertTrue($board->_WCastleK, 'WK cleared 3');
45$board->_WCastleQ = $board->_WCastleK = true;
46$board->_BCastleQ = $board->_BCastleK = true;
47$board->_move = 'B';
48$err = $board->moveSAN('Rh7');
49$phpunit->assertTrue($err, 'moving B rook 2 failed');
50$phpunit->assertTrue($board->_BCastleQ, 'BQ cleared 4');
51$phpunit->assertFalse($board->_BCastleK, 'BK not cleared 4');
52$phpunit->assertTrue($board->_WCastleQ, 'WQ cleared 4');
53$phpunit->assertTrue($board->_WCastleK, 'WK cleared 4');
54echo 'tests done';
55?>
56--EXPECT--
57tests done