5 use Test
::More tests
=> 10;
8 BEGIN { use_ok
('Digest::HighwayHash') };
10 is highway_hash64
([1, 2, 3, 4], 'hello'), '11956820856122239241', 'highway_hash64';
11 is_deeply highway_hash128
([1, 2, 3, 4], 'hello'), ['3048112761216189476', '13900443277579286659'], 'highway_hash128';
12 is_deeply highway_hash256
([1, 2, 3, 4], 'hello'), ['8099666330974151427', '17027479935588128037', '4015249936799013189', '10027181291351549853'], 'highway_hash256';
14 my $state64 = Digest
::HighwayHash
->new([1, 2, 3, 4]);
15 my $state128 = Digest
::HighwayHash
->new([1, 2, 3, 4]);
16 my $state256 = Digest
::HighwayHash
->new([1, 2, 3, 4]);
18 $state64->append('hello');
20 $state128->append('h');
21 $state128->append('ell');
22 $state128->append('o');
23 $state256->append('hell');
24 $state256->append('o');
26 is
$state64->finish64, '11956820856122239241', 'finish64';
27 is_deeply
$state128->finish128, ['3048112761216189476', '13900443277579286659'], 'finish128';
28 is_deeply
$state256->finish256, ['8099666330974151427', '17027479935588128037', '4015249936799013189', '10027181291351549853'], 'finish256';
30 throws_ok
{ highway_hash64
1, 'hello' } qr/not an ARRAY reference/, 'bad key 1';
31 throws_ok
{ highway_hash128
[1, 2], 'hello' } qr/Key for highway_hash must be a 4-element array/, 'bad key 2';
32 throws_ok
{ highway_hash256
[1, 2, 3, 4, 5], 'hello' } qr/Key for highway_hash must be a 4-element array/, 'bad key 3';