#!perl use Test::More; use lib './t/lib' ; use ObjTest ; my %defaults = ( 'array' => [], 'hash' => {}, 'notdef' => undef, 'string' => 'test string', ) ; my %set = ( 'array' => [qw/one two three four/], 'hash' => { 'a' => 'value1', 'b' => 'value2', 'c' => 'value3', 'd' => 'value4', }, 'notdef' => 1234, 'string' => 'a different string', ) ; plan tests => 1 + scalar(keys %defaults) + scalar(keys %set) + scalar(keys %defaults) + scalar(keys %set) ; my $obj = ObjTest->new() ; ok($obj, "Created object") ; foreach my $key (keys %defaults) { my $val = $obj->$key ; is_deeply($val, $defaults{$key}, "Default for $key") ; } $obj->set(%set) ; foreach my $key (keys %set) { my $val = $obj->$key ; is_deeply($val, $set{$key}, "Set for $key") ; } $obj->set(%defaults) ; foreach my $key (keys %defaults) { my $val = $obj->$key ; is_deeply($val, $defaults{$key}, "Default for $key") ; } foreach my $key (keys %set) { $obj->$key($set{$key}) ; my $val = $obj->$key ; is_deeply($val, $set{$key}, "Set for $key") ; }