1--TEST--
2Games_Chess_Crazyhouse->_getPiece()
3--SKIPIF--
4--FILE--
5<?php
6require_once dirname(__FILE__) . '/setup.php.inc';
7$board->addPiece('W', 'K', 'e3');
8$board->addPiece('B', 'K', 'e5');
9$phpunit->assertEquals(false, $board->_getPiece('WP1'), 'WP1 1');
10$phpunit->assertEquals('e3', $board->_getPiece('WK0'), 'WK0 1');
11$phpunit->assertEquals('e5', $board->_getPiece('BK0'), 'BK0 1');
12
13$board->resetGame();
14$phpunit->assertEquals('a1', $board->_getPiece('WR0'), 'WR0');
15$phpunit->assertEquals('b1', $board->_getPiece('WN0'), 'WN0');
16$phpunit->assertEquals('c1', $board->_getPiece('WB0'), 'WB0');
17$phpunit->assertEquals('d1', $board->_getPiece('WQ0'), 'WQ0');
18$phpunit->assertEquals('e1', $board->_getPiece('WK0'), 'WK0');
19$phpunit->assertEquals('f1', $board->_getPiece('WB1'), 'WB1');
20$phpunit->assertEquals('g1', $board->_getPiece('WN1'), 'WN1');
21$phpunit->assertEquals('h1', $board->_getPiece('WR1'), 'WR1');
22$phpunit->assertEquals(false, $board->_getPiece('WR2'), 'WR2');
23$phpunit->assertEquals(false, $board->_getPiece('WN2'), 'WN2');
24$phpunit->assertEquals(false, $board->_getPiece('WB2'), 'WB2');
25$phpunit->assertEquals(false, $board->_getPiece('WQ1'), 'WQ1');
26$phpunit->assertEquals(false, $board->_getPiece('WK1'), 'WK1');
27
28$phpunit->assertEquals('a8', $board->_getPiece('BR0'), 'BR0');
29$phpunit->assertEquals('b8', $board->_getPiece('BN0'), 'BN0');
30$phpunit->assertEquals('c8', $board->_getPiece('BB0'), 'BB0');
31$phpunit->assertEquals('d8', $board->_getPiece('BQ0'), 'BQ0');
32$phpunit->assertEquals('e8', $board->_getPiece('BK0'), 'BK0');
33$phpunit->assertEquals('f8', $board->_getPiece('BB1'), 'BB1');
34$phpunit->assertEquals('g8', $board->_getPiece('BN1'), 'BN1');
35$phpunit->assertEquals('h8', $board->_getPiece('BR1'), 'BR1');
36$phpunit->assertEquals(false, $board->_getPiece('BR2'), 'BR2');
37$phpunit->assertEquals(false, $board->_getPiece('BN2'), 'BN2');
38$phpunit->assertEquals(false, $board->_getPiece('BB2'), 'BB2');
39$phpunit->assertEquals(false, $board->_getPiece('BQ1'), 'BQ1');
40$phpunit->assertEquals(false, $board->_getPiece('BK1'), 'BK1');
41
42$board->blankBoard();
43$board->addPiece('W', 'B', 'c1');
44$board->addPiece('W', 'B', 'f1');
45
46$board->addPiece('W', 'P', 'a2');
47$board->addPiece('W', 'P', 'b2');
48$board->addPiece('W', 'P', 'c2');
49$board->addPiece('W', 'P', 'd2');
50$board->addPiece('W', 'P', 'e2');
51$board->addPiece('W', 'P', 'f2');
52$board->addPiece('W', 'P', 'g2');
53$board->addPiece('W', 'P', 'h2');
54
55// capture and place the enemy bishops as well
56$board->addPiece('W', 'B', 'c8');
57$board->addPiece('W', 'B', 'f8');
58
59$phpunit->assertEquals('c1', $board->_getPiece('WB0'), 'WB0');
60$phpunit->assertEquals('f1', $board->_getPiece('WB1'), 'WB1');
61$phpunit->assertEquals('c8', $board->_getPiece('WB2'), 'WB2');
62$phpunit->assertEquals('f8', $board->_getPiece('WB3'), 'WB3');
63$phpunit->assertEquals(false, $board->_getPiece('WB4'), 'WB4');
64
65$board->blankBoard();
66$board->addPiece('W', 'B', 'c1');
67$board->addPiece('W', 'B', 'f1');
68
69$board->addPiece('W', 'P', 'b2');
70$board->addPiece('W', 'P', 'c2');
71$board->addPiece('W', 'P', 'd2');
72$board->addPiece('W', 'P', 'e2');
73$board->addPiece('W', 'P', 'f2');
74$board->addPiece('W', 'P', 'g2');
75$board->addPiece('W', 'P', 'h2');
76
77// capture and place the enemy bishops as well
78$board->addPiece('W', 'B', 'c8');
79$board->addPiece('W', 'B', 'f8');
80$board->addPiece('W', 'B', 'g1');
81
82$phpunit->assertEquals('c1', $board->_getPiece('WB0'), 'WB0');
83$phpunit->assertEquals('f1', $board->_getPiece('WB1'), 'WB1');
84$phpunit->assertEquals('c8', $board->_getPiece('WP7'), 'WP7');
85$phpunit->assertEquals('f8', $board->_getPiece('WB2'), 'WB2');
86$phpunit->assertEquals('g1', $board->_getPiece('WB3'), 'WB3');
87$phpunit->assertEquals(false, $board->_getPiece('WB4'), 'WB4');
88echo 'tests done';
89?>
90--EXPECT--
91tests done