diff options
Diffstat (limited to 'Data-MultiValued/t/tags-setting.t')
-rw-r--r-- | Data-MultiValued/t/tags-setting.t | 86 |
1 files changed, 51 insertions, 35 deletions
diff --git a/Data-MultiValued/t/tags-setting.t b/Data-MultiValued/t/tags-setting.t index d9f6fd8..5029d2d 100644 --- a/Data-MultiValued/t/tags-setting.t +++ b/Data-MultiValued/t/tags-setting.t @@ -3,40 +3,56 @@ use strict; use warnings; use Test::Most 'die'; use Data::Printer; -use Data::MultiValued; - -my $obj = Data::MultiValued->new(); -ok($obj,'constructor works'); - -lives_ok { - $obj->set({ - tag => 'tag1', - value => 'a string', - }); -} 'setting tag1'; -lives_ok { - $obj->set({ - tag => 'tag2', - value => 'another string', - }); -} 'setting tag2'; - -cmp_ok($obj->get({tag => 'tag1'}), - 'eq', - 'a string', - 'getting tag1'); - -cmp_ok($obj->get({tag => 'tag2'}), - 'eq', - 'another string', - 'getting tag2'); - -dies_ok { - $obj->get({tag=>'no such tag'}); -} 'getting non-existent tag'; - -dies_ok { - $obj->get({}); -} 'default get dies'; +use Data::MultiValued::Tags; +use Data::MultiValued::TagsAndRanges; + +sub test_it { + my ($obj) = @_; + + lives_ok { + $obj->set({ + tag => 'tag1', + value => 'a string', + }); + } 'setting tag1'; + lives_ok { + $obj->set({ + tag => 'tag2', + value => 'another string', + }); + } 'setting tag2'; + + cmp_ok($obj->get({tag => 'tag1'}), + 'eq', + 'a string', + 'getting tag1'); + + cmp_ok($obj->get({tag => 'tag2'}), + 'eq', + 'another string', + 'getting tag2'); + + dies_ok { + $obj->get({tag=>'no such tag'}); + } 'getting non-existent tag'; + + dies_ok { + $obj->get({}); + } 'default get dies'; +} + +subtest 'tags' => sub { + my $obj = Data::MultiValued::Tags->new(); + ok($obj,'constructor works'); + + test_it($obj); +}; + +subtest 'tags and ranges' => sub { + my $obj = Data::MultiValued::TagsAndRanges->new(); + ok($obj,'constructor works'); + + test_it($obj); +}; done_testing(); |