1--TEST--
2Games_Chess->_validMove() invalid castle move (white) #2
3--SKIPIF--
4--FILE--
5<?php
6require_once dirname(__FILE__) . '/setup.php.inc';
7$board->resetGame();
8$err = $board->_validMove($board->_parseMove('O-O'));
9$phpunit->assertErrors(array(
10    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle kingside, pieces are in the way'),
11), 1);
12
13$board->_moveAlgebraic('f1', 'e4');
14$board->_moveAlgebraic('g1', 'e5');
15$err = $board->_validMove($board->_parseMove('O-O'));
16$phpunit->assertTrue($err, 'should work');
17$board->_WCastleK = false;
18$err = $board->_validMove($board->_parseMove('O-O'));
19$phpunit->assertErrors(array(
20    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle kingside, either the king or rook has moved'),
21), 2);
22
23$board->_moveAlgebraic('d1', 'e4');
24$board->_moveAlgebraic('c1', 'e5');
25$board->_moveAlgebraic('b1', 'e3');
26$err = $board->_validMove($board->_parseMove('O-O-O'));
27$phpunit->assertTrue($err, 'should work');
28$board->_WCastleQ = false;
29$err = $board->_validMove($board->_parseMove('O-O-O'));
30$phpunit->assertErrors(array(
31    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle queenside, either the king or rook has moved'),
32), 3);
33echo 'tests done';
34?>
35--EXPECT--
36tests done