Chess-Opening
view release on metacpan or search on metacpan
t/get-key.t view on Meta::CPAN
# to Public License, Version 2, as published by Sam Hocevar. See
# http://www.wtfpl.net/ for more details.
use common::sense;
use Test::More;
use Chess::Opening::Book::Polyglot;
# Tests from http://hardy.uhasselt.be/Toga/book_format.html
sub stringify_key($);
my ($key);
$key = Chess::Opening::Book::Polyglot->_getKey(
'rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1'
);
is stringify_key $key, "0x463b96181691fc9c";
$key = Chess::Opening::Book::Polyglot->_getKey(
'rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1',
t/get-key.t view on Meta::CPAN
);
is stringify_key $key, "0x3c8123ea7b067637";
$key = Chess::Opening::Book::Polyglot->_getKey(
'rnbqkbnr/p1pppppp/8/8/P6P/R1p5/1P1PPPP1/1NBQKBNR b Kkq - 0 4',
);
is stringify_key $key, "0x5c3f9b829b279560";
done_testing;
sub stringify_key($) {
my @bytes = unpack 'C*', shift;
my $retval = '0x';
foreach my $byte (@bytes) {
$retval .= sprintf '%02x', $byte;
}
return $retval;
}
( run in 0.322 second using v1.01-cache-2.11-cpan-1f129e94a17 )