summaryrefslogtreecommitdiff
path: root/Data-MultiValued/t/ranges-setting.t
blob: 148a4c65c065675d072a67d5367457ab6bd3d778 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!perl 
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';
 
done_testing();