summaryrefslogtreecommitdiff
path: root/Data-MultiValued/t/tags-setting.t
diff options
context:
space:
mode:
Diffstat (limited to 'Data-MultiValued/t/tags-setting.t')
-rw-r--r--Data-MultiValued/t/tags-setting.t86
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();