From 120cfbbb0a4e7115670c90e35688d94b8597ab6e Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Wed, 9 Nov 2011 16:34:42 +0000 Subject: split! tags, ranges, both, now separate classes --- Data-MultiValued/t/ranges-setting.t | 122 ++++++++++++++++++++---------------- 1 file changed, 69 insertions(+), 53 deletions(-) (limited to 'Data-MultiValued/t/ranges-setting.t') 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(); -- cgit v1.2.3