1# -*- Mode: CPerl -*- 2 3use strict; 4use warnings; 5 6use Test::More 'no_plan'; 7 8use Hash::MultiKey; 9 10tie my (%hmk), 'Hash::MultiKey'; 11 12my @mk = ([""], 13 ["", "", ""], 14 ["", "", "", ""], 15 ["", "", "", "", "", ""],); 16 17my @v = (undef, 18 1, 19 'string', 20 ['array', 'ref'],); 21 22# initialize %hmk 23$hmk{$mk[$_]} = $v[$_] foreach 0..$#mk; 24 25# fetch values 26is_deeply($hmk{$mk[$_]}, $v[$_], "fetch key $_") foreach 0..$#mk; 27 28# delete all 29foreach my $i (0..$#mk) { 30 is_deeply(delete $hmk{$mk[$i]}, $v[$i], "delete key $i"); 31 ok(!exists $hmk{$mk[$i]}, "! exists key $i"); 32} 33 34ok(!scalar(%hmk), 'scalar empty %hmk') 35