1--TEST--
2Games_Chess->_parseMove() valid piece move (disambiguating)
3--SKIPIF--
4--FILE--
5<?php
6require_once dirname(__FILE__) . '/setup.php.inc';
7$ret = $board->_parseMove('Qxc3');
8$phpunit->assertEquals(array(GAMES_CHESS_PIECEMOVE => array(
9        'takesfrom' => false,
10        'piece' => 'Q',
11        'disambiguate' => '',
12        'takes' => 'x',
13        'square' => 'c3',
14    )), $ret, 'incorrect parsing');
15$ret = $board->_parseMove('Nxc3');
16$phpunit->assertEquals(array(GAMES_CHESS_PIECEMOVE => array(
17        'takesfrom' => false,
18        'piece' => 'N',
19        'disambiguate' => '',
20        'takes' => 'x',
21        'square' => 'c3',
22    )), $ret, 'incorrect parsing');
23$ret = $board->_parseMove('Bxc3');
24$phpunit->assertEquals(array(GAMES_CHESS_PIECEMOVE => array(
25        'takesfrom' => false,
26        'piece' => 'B',
27        'disambiguate' => '',
28        'takes' => 'x',
29        'square' => 'c3',
30    )), $ret, 'incorrect parsing');
31$ret = $board->_parseMove('Kxc3');
32$phpunit->assertEquals(array(GAMES_CHESS_PIECEMOVE => array(
33        'takesfrom' => false,
34        'piece' => 'K',
35        'disambiguate' => '',
36        'takes' => 'x',
37        'square' => 'c3',
38    )), $ret, 'incorrect parsing');
39$ret = $board->_parseMove('Rxc3');
40$phpunit->assertEquals(array(GAMES_CHESS_PIECEMOVE => array(
41        'takesfrom' => false,
42        'piece' => 'R',
43        'disambiguate' => '',
44        'takes' => 'x',
45        'square' => 'c3',
46    )), $ret, 'incorrect parsing');
47$ret = $board->_parseMove('R1xc3');
48$phpunit->assertEquals(array(GAMES_CHESS_PIECEMOVE => array(
49        'takesfrom' => false,
50        'piece' => 'R',
51        'disambiguate' => '1',
52        'takes' => 'x',
53        'square' => 'c3',
54    )), $ret, 'incorrect parsing');
55$ret = $board->_parseMove('Raxc3');
56$phpunit->assertEquals(array(GAMES_CHESS_PIECEMOVE => array(
57        'takesfrom' => false,
58        'piece' => 'R',
59        'disambiguate' => 'a',
60        'takes' => 'x',
61        'square' => 'c3',
62    )), $ret, 'incorrect parsing');
63// rare occasion
64$ret = $board->_parseMove('Na2xc3');
65$phpunit->assertEquals(array(GAMES_CHESS_PIECEMOVE => array(
66        'takesfrom' => false,
67        'piece' => 'N',
68        'disambiguate' => 'a2',
69        'takes' => 'x',
70        'square' => 'c3',
71    )), $ret, 'incorrect parsing');
72echo 'tests done';
73?>
74--EXPECT--
75tests done