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