1--TEST--
2Games_Chess_Crazyhouse->_validMove() invalid castling (black) 1
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$err = $board->_validMove($board->_parseMove('O-O'));
16$phpunit->assertErrors(array(
17    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle kingside, pieces are in the way')
18), 2);
19$board->_moveAlgebraic('e4', 'f8');
20$board->_moveAlgebraic('g8', 'e4');
21$err = $board->_validMove($board->_parseMove('O-O'));
22$phpunit->assertErrors(array(
23    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle kingside, pieces are in the way')
24), 3);
25
26$board->resetGame();
27$err = $board->_validMove($board->_parseMove('O-O-O'));
28$phpunit->assertErrors(array(
29    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle queenside, pieces are in the way')
30), 4);
31$board->_moveAlgebraic('d8', 'e4');
32$err = $board->_validMove($board->_parseMove('O-O-O'));
33$phpunit->assertErrors(array(
34    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle queenside, pieces are in the way')
35), 5);
36$board->_moveAlgebraic('c8', 'e5');
37$err = $board->_validMove($board->_parseMove('O-O-O'));
38$phpunit->assertErrors(array(
39    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle queenside, pieces are in the way')
40), 6);
41$board->_moveAlgebraic('e5', 'c8');
42$board->_moveAlgebraic('b8', 'h4');
43$err = $board->_validMove($board->_parseMove('O-O-O'));
44$phpunit->assertErrors(array(
45    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle queenside, pieces are in the way')
46), 7);
47echo 'tests done';
48?>
49--EXPECT--
50tests done