1--TEST--
2Games_Chess->_validMove() invalid castle move (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
19$board->_moveAlgebraic('e4', 'f1');
20$board->_moveAlgebraic('g1', '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
32$board->_moveAlgebraic('d1', 'e4');
33$err = $board->_validMove($board->_parseMove('O-O-O'));
34$phpunit->assertErrors(array(
35    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle queenside, pieces are in the way'),
36), 5);
37
38$board->_moveAlgebraic('c1', 'e5');
39$err = $board->_validMove($board->_parseMove('O-O-O'));
40$phpunit->assertErrors(array(
41    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle queenside, pieces are in the way'),
42), 5);
43
44$board->_moveAlgebraic('e5', 'c1');
45$board->_moveAlgebraic('b1', 'h4');
46$err = $board->_validMove($board->_parseMove('O-O-O'));
47$phpunit->assertErrors(array(
48    array('package' => 'PEAR_Error', 'message' => 'Can\'t castle queenside, pieces are in the way'),
49), 5);
50
51echo 'tests done';
52?>
53--EXPECT--
54tests done