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