summaryrefslogtreecommitdiff
path: root/Data-MultiValued/t/overlapping-ranges.t
diff options
context:
space:
mode:
Diffstat (limited to 'Data-MultiValued/t/overlapping-ranges.t')
-rw-r--r--Data-MultiValued/t/overlapping-ranges.t48
1 files changed, 48 insertions, 0 deletions
diff --git a/Data-MultiValued/t/overlapping-ranges.t b/Data-MultiValued/t/overlapping-ranges.t
new file mode 100644
index 0000000..e359894
--- /dev/null
+++ b/Data-MultiValued/t/overlapping-ranges.t
@@ -0,0 +1,48 @@
+#!perl
+use strict;
+use warnings;
+use Test::Most 'die';
+use Data::Printer;
+use Data::MultiValued;
+
+my $obj = Data::MultiValued->new();
+ok($obj,'constructor works');
+
+$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';
+
+done_testing();