summaryrefslogtreecommitdiff
path: root/t/overlapping-ranges.t
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@thenautilus.net>2011-11-10 15:10:26 +0000
committerGianni Ceccarelli <dakkar@thenautilus.net>2011-11-10 15:10:26 +0000
commitdc07be4ac45756a0e664ee29e888f86b7609784a (patch)
treedca7e4467f73625604886e8910a609ccc978b0ce /t/overlapping-ranges.t
parent'clear' almost completely implemneted (diff)
downloaddata-multivalued-dc07be4ac45756a0e664ee29e888f86b7609784a.tar.gz
data-multivalued-dc07be4ac45756a0e664ee29e888f86b7609784a.tar.bz2
data-multivalued-dc07be4ac45756a0e664ee29e888f86b7609784a.zip
move up a level
Diffstat (limited to 't/overlapping-ranges.t')
-rw-r--r--t/overlapping-ranges.t64
1 files changed, 64 insertions, 0 deletions
diff --git a/t/overlapping-ranges.t b/t/overlapping-ranges.t
new file mode 100644
index 0000000..01bb98d
--- /dev/null
+++ b/t/overlapping-ranges.t
@@ -0,0 +1,64 @@
+#!perl
+use strict;
+use warnings;
+use Test::Most 'die';
+use Data::Printer;
+use Data::MultiValued::Ranges;
+use Data::MultiValued::TagsAndRanges;
+
+sub test_it {
+ my ($obj) = @_;
+ $obj->set({
+ from=>10,
+ to=>20,
+ value=>1,
+ });
+ $obj->set({
+ from=>15,
+ to => 30,
+ value => 2,
+ });
+
+ my %points = (
+ 10,1,
+ 12,1,
+ 13,1,
+ 14,1,
+ 15,2,
+ 17,2,
+ 19,2,
+ 20,2,
+ 25,2,
+ 29,2,
+ );
+ while (my ($at,$v) = each %points) {
+ cmp_ok($obj->get({at=>$at}),
+ '==',
+ $v,
+ "value at $at");
+ }
+
+ dies_ok {
+ $obj->get({at=>30})
+ } 'far end';
+ dies_ok {
+ $obj->get({at=>9})
+ } 'far end';
+}
+
+
+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();