summaryrefslogtreecommitdiff
path: root/Data-MultiValued/t/ranges-setting.t
diff options
context:
space:
mode:
Diffstat (limited to 'Data-MultiValued/t/ranges-setting.t')
-rw-r--r--Data-MultiValued/t/ranges-setting.t122
1 files changed, 69 insertions, 53 deletions
diff --git a/Data-MultiValued/t/ranges-setting.t b/Data-MultiValued/t/ranges-setting.t
index 148a4c6..ff6a6b3 100644
--- a/Data-MultiValued/t/ranges-setting.t
+++ b/Data-MultiValued/t/ranges-setting.t
@@ -3,58 +3,74 @@ 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({
- from => 10,
- to => 20,
- value => [1,2,3],
- });
-} 'setting 10-20';
-lives_ok {
- $obj->set({
- from => 30,
- to => 50,
- value => [4,5,6],
- });
-} 'setting 30-50';
-
-cmp_deeply($obj->get({at => 15}),
- [1,2,3],
- 'getting 15');
-cmp_deeply($obj->get({at => 10}),
- [1,2,3],
- 'getting 10');
-cmp_deeply($obj->get({at => 19.999}),
- [1,2,3],
- 'getting 19.999');
-dies_ok {
- $obj->get({at => 20})
-} 'getting 20 dies';
-
-cmp_deeply($obj->get({at => 40}),
- [4,5,6],
- 'getting 40');
-cmp_deeply($obj->get({at => 30}),
- [4,5,6],
- 'getting 30');
-cmp_deeply($obj->get({at => 49.999}),
- [4,5,6],
- 'getting 49.999');
-dies_ok {
- $obj->get({at => 50})
-} 'getting 50 dies';
-
-dies_ok {
- $obj->get({at => 0})
-} 'getting 0 dies';
-
-dies_ok {
- $obj->get({});
-} 'default get dies';
+use Data::MultiValued::Ranges;
+use Data::MultiValued::TagsAndRanges;
+
+sub test_it {
+ my ($obj) = @_;
+
+ lives_ok {
+ $obj->set({
+ from => 10,
+ to => 20,
+ value => [1,2,3],
+ });
+ } 'setting 10-20';
+ lives_ok {
+ $obj->set({
+ from => 30,
+ to => 50,
+ value => [4,5,6],
+ });
+ } 'setting 30-50';
+
+ cmp_deeply($obj->get({at => 15}),
+ [1,2,3],
+ 'getting 15');
+ cmp_deeply($obj->get({at => 10}),
+ [1,2,3],
+ 'getting 10');
+ cmp_deeply($obj->get({at => 19.999}),
+ [1,2,3],
+ 'getting 19.999');
+ dies_ok {
+ $obj->get({at => 20})
+ } 'getting 20 dies';
+
+ cmp_deeply($obj->get({at => 40}),
+ [4,5,6],
+ 'getting 40');
+ cmp_deeply($obj->get({at => 30}),
+ [4,5,6],
+ 'getting 30');
+ cmp_deeply($obj->get({at => 49.999}),
+ [4,5,6],
+ 'getting 49.999');
+ dies_ok {
+ $obj->get({at => 50})
+ } 'getting 50 dies';
+
+ dies_ok {
+ $obj->get({at => 0})
+ } 'getting 0 dies';
+
+ dies_ok {
+ $obj->get({});
+ } 'default get dies';
+}
+
+subtest 'ranges' => sub {
+ my $obj = Data::MultiValued::Ranges->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();