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