1--TEST--
2Games_Chess repetition draw detection
3--SKIPIF--
4--FILE--
5<?php
6require_once dirname(__FILE__) . '/setup.php.inc';
7$board->resetGame();
8$board->moveSAN('Nf3');
9$board->moveSAN('e6');
10// 2
11$board->moveSAN('Nc3');
12$board->moveSAN('Qe7');
13// 3
14$board->moveSAN('e4');
15$board->moveSAN('Qd8');
16// 4
17$board->moveSAN('d4');
18$board->moveSAN('Qe7');
19// 5
20$board->moveSAN('Be3');
21$board->moveSAN('Qd8');
22// 6
23$board->moveSAN('Bd3');
24$board->moveSAN('Qe7');
25// 7
26$board->moveSAN('Qd2');
27$board->moveSAN('Qd8');
28// 8
29$board->moveSAN('e5');
30$board->moveSAN('Qh4');
31// 9
32$board->moveSAN('O-O-O');
33$board->moveSAN('d5');
34// 10
35$board->moveSAN('Ng1');
36$board->moveSAN('Qd8');
37// 11
38$board->moveSAN('Nf3');
39$board->moveSAN('Qh4');
40// 12
41$board->moveSAN('Ng1');
42$board->moveSAN('Qd8');
43// 13
44$board->moveSAN('Nf3');
45$board->moveSAN('Qh4');
46
47$phpunit->assertNoErrors('test 1');
48$phpunit->assertFalse($board->inRepetitionDraw(), 'draw 1');
49// 14
50$board->moveSAN('Ng1');
51$board->moveSAN('Qd8');
52// 15
53$board->moveSAN('Nf3');
54$board->moveSAN('Qh4');
55
56$phpunit->assertNoErrors('test 1');
57$phpunit->assertTrue($board->inRepetitionDraw(), 'draw 1.5');
58
59$board->resetGame();
60//1.e4 Na6 2.Bxa6 b6 3.Bxc8 a6 4.Bb7 Rb8 5.Bc8 Ra8 6.Bb7 Rb8
61$board->moveSAN('e4');
62$board->moveSAN('Na6');
63// 2
64$board->moveSAN('Bxa6');
65$board->moveSAN('b6');
66// 3
67$board->moveSAN('Bxc8');
68$board->moveSAN('a6');
69// 4
70$board->moveSAN('Bb7');
71$board->moveSAN('Rb8');
72// 5
73$board->moveSAN('Bc8');
74$board->moveSAN('Ra8');
75// 6
76$board->moveSAN('Bb7');
77$board->moveSAN('Rb8');
78
79$phpunit->assertNoErrors('test 2');
80$phpunit->assertFalse($board->inRepetitionDraw(), 'draw 2');
81// 7
82$board->moveSAN('Bc8');
83$board->moveSAN('Ra8');
84// 8
85$board->moveSAN('Bb7');
86$board->moveSAN('Rb8');
87$phpunit->assertNoErrors('test 2.5');
88$phpunit->assertTrue($board->inRepetitionDraw(), 'draw 2.5');
89echo 'tests done';
90?>
91--EXPECT--
92tests done