use lib qw(t);
use strict;
use Carp;
use Test::More;
use Test::Deep;
use autohashUtil;
require 'autohash.TieMV.pm'; # example tied hash class
my $autohash;
use Hash::AutoHash qw(autohash_new autohash_tie);
test_special_keys(autohash_new,1,undef,'not tied');
test_special_keys(autohash_tie(TieMV),2,sub {[$_[0],$_[0]]},'tied');
# sub test_special_keys ($$) {
# my($key,$value)=@_;
# $autohash=autohash_new;
# $autohash->$key($value); # set value
# my $actual=$autohash->$key; # get value
# my $correct=$value;
# cmp_deeply($actual,$correct,"not tied. key=$key");
# $autohash=autohash_tie TieMV;
# $autohash->$key($value); # set value
# $autohash->$key($value); # set value
# my $actual=$autohash->$key; # get value
# my $correct=[$value,$value];
# cmp_deeply($actual,$correct,"tied. key=$key");
# }
# our @keys=(@COMMON_SPECIAL_KEYS,@Hash::AutoHash::EXPORT_OK);
# # my @values=map {"value_$_"} @keys;
# for my $key (@keys) {
# my $value="value_$key";
# test_special_keys($key,$value);
# }
done_testing();