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