use strict; use warnings; use Test::More 'no_plan'; use Test::NoWarnings; # comment out if you don't have this installed use TwoWayHash; my $h = TwoWayHash->new(100); my @tests = ( ["abcd123", "efgh123"], ["wxyz456", "lmno456"], ["abcd456", "efgh456"], ); foreach my $test (@tests) { my ($v1, $v2) = @$test; $h->insert($v1, $v2); } use Data::Dumper; #print Dumper(\$h); foreach my $test (@tests) { my ($v1, $v2) = @$test; is($h->retrieveOneWay("L2R", $v1), $v2, "L2R retrieve '$v1'"); is($h->retrieveOneWay("L2R", $v2), undef, "L2R don't retrieve '$v2'"); is($h->retrieveOneWay("R2L", $v2), $v1, "R2L retrieve '$v2'"); is($h->retrieveOneWay("R2L", $v1), undef, "R2L don't retrieve '$v1'"); } is($h->retrieveOneWay("L2R", "abcd234"), undef, "L2R don't retrieve");