Exemple #1
0
    public function testNormal()
    {
        $chess = new ChessPublicator();
        $chess->header('White', 'John');
        $chess->header('Black', 'Cena');
        // import some game
        $match = '1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 dxe4 5. Nxe4 Be7 6. Bxf6
				gxf6 7. g3 f5 8. Nc3 Bf6';
        $moves = preg_replace("/([0-9]{0,})\\./", "", $match);
        $moves = str_replace('  ', ' ', str_replace("\r", ' ', str_replace("\n", ' ', str_replace("\t", '', $moves))));
        $moves = explode(' ', trim($moves));
        foreach ($moves as $move) {
            if ($chess->move($move) === null) {
                var_dump($move);
            }
        }
        $fen = $chess->fen();
        $chess->header('FEN', $fen);
        $pgn = $chess->pgn();
        // check setup ok
        $this->assertContains('[White "John"]', $pgn);
        $this->assertContains('[Black "Cena"]', $pgn);
        $this->assertContains('[FEN "' . $fen . '"]', $pgn);
        // check movements
        $this->assertContains('1. e4 e6', $pgn);
        $this->assertContains('2. d4 d5', $pgn);
        $this->assertContains('3. Nc3 Nf6', $pgn);
        $this->assertContains('4. Bg5 dxe4', $pgn);
        $this->assertContains('5. Nxe4 Be7', $pgn);
        // .
        // .
        // .
        $this->assertContains('8. Nc3 Bf6', $pgn);
    }