#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use Test::Deep;
use DDG::Test::Goodie;
zci answer_type => "fen_viewer";
zci is_cached => 1;
ddg_goodie_test(
[qw( DDG::Goodie::FenViewer )],
'FEN rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1' => test_zci("rnbqkbnr\npppppppp\n - - - -\n- - - - \n - - - -\n- - - - \nPPPPPPPP\nRNBQKBNR", html => '
♜ | ♞ | ♝ | ♛ | ♚ | ♝ | ♞ | ♜ |
♟ | ♟ | ♟ | ♟ | ♟ | ♟ | ♟ | ♟ |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
♙ | ♙ | ♙ | ♙ | ♙ | ♙ | ♙ | ♙ |
♖ | ♘ | ♗ | ♕ | ♔ | ♗ | ♘ | ♖ |
'),
'fen rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1 ' => test_zci("rnbqkbnr\npppppppp\n - - - -\n- - - - \n - -P- -\n- - - - \nPPPP PPP\nRNBQKBNR", html => '♜ | ♞ | ♝ | ♛ | ♚ | ♝ | ♞ | ♜ |
♟ | ♟ | ♟ | ♟ | ♟ | ♟ | ♟ | ♟ |
| | | | | | | |
| | | | | | | |
| | | | ♙ | | | |
| | | | | | | |
♙ | ♙ | ♙ | ♙ | | ♙ | ♙ | ♙ |
♖ | ♘ | ♗ | ♕ | ♔ | ♗ | ♘ | ♖ |
'),
# Two examples from the last world championship
'fen r1b1r1k1/2qn1ppp/1ppp4/p3p3/P2PP3/R4N1P/1PP2PP1/2BQR1K1 b - - 0 14 ' => test_zci("r-b-r-k-\n- qn-ppp\n ppp - -\np - p - \nP- PP- -\nR - -N-P\n PP- PP-\n- BQR K ", html => '♜ | | ♝ | | ♜ | | ♚ | |
| | ♛ | ♞ | | ♟ | ♟ | ♟ |
| ♟ | ♟ | ♟ | | | | |
♟ | | | | ♟ | | | |
♙ | | | ♙ | ♙ | | | |
♖ | | | | | ♘ | | ♙ |
| ♙ | ♙ | | | ♙ | ♙ | |
| | ♗ | ♕ | ♖ | | ♔ | |
'),
'fen 5rk1/4R1p1/3q1p2/p1p2P1p/P3Q2P/5pP1/2P2P1K/8 w - - 0 35' => test_zci(" - - rk-\n- - R p \n - q p -\np p -P-p\nP- -Q- P\n- - -pP \n -P- P K\n- - - - ", html => ''),
'rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1' => undef,
'fen' => undef,
'fen ' => undef,
);
done_testing;