summaryrefslogtreecommitdiff
path: root/Data-MultiValued/t
diff options
context:
space:
mode:
Diffstat (limited to 'Data-MultiValued/t')
-rw-r--r--Data-MultiValued/t/json.t65
-rw-r--r--Data-MultiValued/t/moose-ranges.t67
-rw-r--r--Data-MultiValued/t/moose-tagged.t67
-rw-r--r--Data-MultiValued/t/more-overlapping-ranges.t79
-rw-r--r--Data-MultiValued/t/overlapping-ranges.t64
-rw-r--r--Data-MultiValued/t/ranges-setting.t93
-rw-r--r--Data-MultiValued/t/simple-setting.t46
-rw-r--r--Data-MultiValued/t/tags-ranges-setting.t85
-rw-r--r--Data-MultiValued/t/tags-setting.t76
9 files changed, 0 insertions, 642 deletions
diff --git a/Data-MultiValued/t/json.t b/Data-MultiValued/t/json.t
deleted file mode 100644
index 5e00080..0000000
--- a/Data-MultiValued/t/json.t
+++ /dev/null
@@ -1,65 +0,0 @@
-#!perl
-use strict;
-use warnings;
-package Foo;{
-use Moose;
-use Data::MultiValued::AttributeTrait::Tags;
-use Data::MultiValued::AttributeTrait::Ranges;
-use Data::MultiValued::AttributeTrait::TagsAndRanges;
-
-with 'Data::MultiValued::UglySerializationHelperRole';
-
-has tt => (
- is => 'rw',
- isa => 'Int',
- traits => ['MultiValued::Tags'],
- default => 3,
- predicate => 'has_tt',
- clearer => 'clear_tt',
-);
-
-has rr => (
- is => 'rw',
- isa => 'Str',
- traits => ['MultiValued::Ranges'],
- predicate => 'has_rr',
- clearer => 'clear_rr',
-);
-
-has ttrr => (
- is => 'rw',
- isa => 'Str',
- default => 'default',
- traits => ['MultiValued::TagsAndRanges'],
- predicate => 'has_ttrr',
- clearer => 'clear_ttrr',
-);
-
-
-}
-package main;
-use Test::Most 'die';
-use Data::Printer;
-use JSON::XS;
-
-my $opts={tag=>'something'};
-
-my $json = JSON::XS->new->utf8;
-my $obj = Foo->new(rr=>'foo');
-$obj->tt_multi($opts,1234);
-my $hash = $obj->as_hash;
-note p $hash;
-my $str = $json->encode($hash);
-note p $str;
-
-note "rebuilding";
-my $obj2 = Foo->new_in_place($json->decode($str));
-
-note p $obj;
-note p $obj2;
-
-is($obj2->tt,$obj->tt,'tt');
-is($obj2->tt_multi($opts),$obj->tt_multi($opts),'tt tagged');
-is($obj2->rr,$obj->rr,'rr');
-
-done_testing;
diff --git a/Data-MultiValued/t/moose-ranges.t b/Data-MultiValued/t/moose-ranges.t
deleted file mode 100644
index 404e649..0000000
--- a/Data-MultiValued/t/moose-ranges.t
+++ /dev/null
@@ -1,67 +0,0 @@
-#!perl
-use strict;
-use warnings;
-
-package Foo;{
-use Moose;
-use Data::MultiValued::AttributeTrait::Ranges;
-
-has stuff => (
- is => 'rw',
- isa => 'Int',
- traits => ['MultiValued::Ranges'],
- default => 3,
- predicate => 'has_stuff',
- clearer => 'clear_stuff',
-);
-
-has other => (
- is => 'rw',
- isa => 'Str',
- traits => ['MultiValued::Ranges'],
- predicate => 'has_other',
- clearer => 'clear_other',
-);
-}
-package main;
-use Test::Most 'die';
-use Data::Printer;
-
-subtest 'default' => sub {
- my $obj = Foo->new();
-
- ok(!$obj->has_other,'not has other');
- ok($obj->has_stuff,'has stuff');
-
- is($obj->stuff,3,'default');
-};
-
-subtest 'constructor param' => sub {
- my $obj = Foo->new({stuff=>12,other=>'bar'});
-
- ok($obj->has_other,'has other');
- ok($obj->has_stuff,'has stuff');
-
- is($obj->stuff,12,'param');
- is($obj->other,'bar','param');
-};
-
-subtest 'with ranges' => sub {
- my $obj = Foo->new();
-
- my $opts = {from=>10,to=>20,at=>15};
-
- ok($obj->has_stuff,'has stuff');
- ok($obj->has_stuff_multi($opts),'has stuff ranged (forever)');
- ok(!$obj->has_other,'not has other');
- ok(!$obj->has_other_multi($opts),'not has other ranged');
-
- $obj->stuff_multi($opts,7);
- $obj->other_multi($opts,'foo');
-
- is($obj->stuff,3,'default');
- is($obj->stuff_multi($opts),7,'stuff ranged');
- is($obj->other_multi($opts),'foo','other ranged');
-};
-
-done_testing();
diff --git a/Data-MultiValued/t/moose-tagged.t b/Data-MultiValued/t/moose-tagged.t
deleted file mode 100644
index 6e1ac7a..0000000
--- a/Data-MultiValued/t/moose-tagged.t
+++ /dev/null
@@ -1,67 +0,0 @@
-#!perl
-use strict;
-use warnings;
-
-package Foo;{
-use Moose;
-use Data::MultiValued::AttributeTrait::Tags;
-
-has stuff => (
- is => 'rw',
- isa => 'Int',
- traits => ['MultiValued::Tags'],
- default => 3,
- predicate => 'has_stuff',
- clearer => 'clear_stuff',
-);
-
-has other => (
- is => 'rw',
- isa => 'Str',
- traits => ['MultiValued::Tags'],
- predicate => 'has_other',
- clearer => 'clear_other',
-);
-}
-package main;
-use Test::Most 'die';
-use Data::Printer;
-
-subtest 'default' => sub {
- my $obj = Foo->new();
-
- ok(!$obj->has_other,'not has other');
- ok($obj->has_stuff,'has stuff');
-
- is($obj->stuff,3,'default');
-};
-
-subtest 'constructor param' => sub {
- my $obj = Foo->new({stuff=>12,other=>'bar'});
-
- ok($obj->has_other,'has other');
- ok($obj->has_stuff,'has stuff');
-
- is($obj->stuff,12,'param');
- is($obj->other,'bar','param');
-};
-
-subtest 'with tags' => sub {
- my $obj = Foo->new();
-
- my $opts = {tag=>'one'};
-
- ok($obj->has_stuff,'has stuff');
- ok(!$obj->has_stuff_multi($opts),'not has stuff tagged');
- ok(!$obj->has_other,'not has other');
- ok(!$obj->has_other_multi($opts),'not has other tagged');
-
- $obj->stuff_multi($opts,7);
- $obj->other_multi($opts,'foo');
-
- is($obj->stuff,3,'default');
- is($obj->stuff_multi($opts),7,'stuff tagged');
- is($obj->other_multi($opts),'foo','other tagged');
-};
-
-done_testing();
diff --git a/Data-MultiValued/t/more-overlapping-ranges.t b/Data-MultiValued/t/more-overlapping-ranges.t
deleted file mode 100644
index 19e2fe5..0000000
--- a/Data-MultiValued/t/more-overlapping-ranges.t
+++ /dev/null
@@ -1,79 +0,0 @@
-#!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=>30,
- to => 50,
- value => 2,
- });
- $obj->set({
- from=>15,
- to => 35,
- value => 3,
- });
- $obj->set({
- from => undef,
- to => 12,
- value => 4,
- });
- $obj->set({
- from => 40,
- to => undef,
- value => 5,
- });
-
- my %points = (
- 1,4,
- 9,4,
- 10,4,
- 11,4,
- 12,1,
- 13,1,
- 14,1,
- 15,3,
- 19,3,
- 20,3,
- 30,3,
- 34,3,
- 35,2,
- 39,2,
- 40,5,
- 50,5,
- 200,5,
- );
- while (my ($at,$v) = each %points) {
- cmp_ok($obj->get({at=>$at}),
- '==',
- $v,
- "value at $at");
- }
-}
-
-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();
diff --git a/Data-MultiValued/t/overlapping-ranges.t b/Data-MultiValued/t/overlapping-ranges.t
deleted file mode 100644
index 01bb98d..0000000
--- a/Data-MultiValued/t/overlapping-ranges.t
+++ /dev/null
@@ -1,64 +0,0 @@
-#!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();
diff --git a/Data-MultiValued/t/ranges-setting.t b/Data-MultiValued/t/ranges-setting.t
deleted file mode 100644
index b8d2a57..0000000
--- a/Data-MultiValued/t/ranges-setting.t
+++ /dev/null
@@ -1,93 +0,0 @@
-#!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) = @_;
-
- 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';
-
- $obj->clear({from=>10,to=>20});
-
- dies_ok {
- $obj->get({at => 15})
- } 'getting 15 after clearing dies';
-
- cmp_deeply($obj->get({at => 30}),
- [4,5,6],
- 'getting 30 after clearing');
-
- $obj->clear();
-
- dies_ok {
- $obj->get({at => 30})
- } 'getting 30 after clearing all 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();
diff --git a/Data-MultiValued/t/simple-setting.t b/Data-MultiValued/t/simple-setting.t
deleted file mode 100644
index 9d9a9e2..0000000
--- a/Data-MultiValued/t/simple-setting.t
+++ /dev/null
@@ -1,46 +0,0 @@
-#!perl
-use strict;
-use warnings;
-use Test::Most 'die';
-use Data::Printer;
-use Data::MultiValued::Ranges;
-use Data::MultiValued::Tags;
-use Data::MultiValued::TagsAndRanges;
-
-sub test_it {
- my ($obj) = @_;
-
- lives_ok {
- $obj->set({
- value => 1234,
- });
- } 'setting';
-
- cmp_ok($obj->get({}),'==',1234,
- 'getting');
-
- lives_ok { $obj->clear } 'clearing the object';
-}
-
-subtest 'ranges' => sub {
- my $obj = Data::MultiValued::Ranges->new();
- ok($obj,'constructor works');
-
- test_it($obj);
-};
-
-subtest 'tags' => sub {
- my $obj = Data::MultiValued::Tags->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();
diff --git a/Data-MultiValued/t/tags-ranges-setting.t b/Data-MultiValued/t/tags-ranges-setting.t
deleted file mode 100644
index e25a9f1..0000000
--- a/Data-MultiValued/t/tags-ranges-setting.t
+++ /dev/null
@@ -1,85 +0,0 @@
-#!perl
-use strict;
-use warnings;
-use Test::Most 'die';
-use Data::Printer;
-use Data::MultiValued::TagsAndRanges;
-
-my $obj = Data::MultiValued::TagsAndRanges->new();
-ok($obj,'constructor works');
-
-my @tags = (undef,'tag1','tag2');
-my @ranges = ([10,20,2],[30,50,2]);
-
-sub _t { $_[0] ? ( tag => $_[0] ) : () }
-
-for my $tag (@tags) {
- for my $range (@ranges) {
- $obj->set({
- _t($tag),
- from => $range->[0],
- to => $range->[1],
- value => $range->[2],
- });
- }
-}
-
-for my $tag (@tags) {
- for my $range (@ranges) {
- cmp_ok(
- $obj->get({
- _t($tag),
- at => ($range->[0]+$range->[1])/2,
- }),
- '==',
- $range->[2],
- "tag @{[ $tag // 'default' ]}, range @$range[0,1]",
- );
- }
-}
-
-for my $range (@ranges) {
- dies_ok {
- $obj->get({
- tag => 'not there',
- from => $range->[0],
- to => $range->[1],
- })
- } "no such tag, range @$range[0,1]";
-}
-
-for my $tag (@tags) {
- for my $range (@ranges) {
- dies_ok {
- $obj->get({
- _t($tag),
- at => $range->[0]-1,
- })
- } "tag @{[ $tag // 'default' ]}, out-of-range (left)";
- dies_ok {
- $obj->get({
- _t($tag),
- at => $range->[1],
- })
- } "tag @{[ $tag // 'default' ]}, out-of-range (right)";
- }
-}
-
-$obj->clear({tag=>$tags[1],from=>$ranges[0]->[0],to=>$ranges[0]->[1]});
-dies_ok {
- $obj->get({
- tag=>$tags[1],
- at => $ranges[0]->[0]+1,
- })
-} 'getting deleted range from inside tag dies';
-
-cmp_ok(
- $obj->get({
- tag => $tags[1],
- at => $ranges[1]->[0]+1,
- }),
- '==',
- $ranges[1]->[2],
- 'other ranges in same tag are still there');
-
-done_testing();
diff --git a/Data-MultiValued/t/tags-setting.t b/Data-MultiValued/t/tags-setting.t
deleted file mode 100644
index 929ad3d..0000000
--- a/Data-MultiValued/t/tags-setting.t
+++ /dev/null
@@ -1,76 +0,0 @@
-#!perl
-use strict;
-use warnings;
-use Test::Most 'die';
-use Data::Printer;
-use Data::MultiValued::Tags;
-use Data::MultiValued::TagsAndRanges;
-
-sub test_it {
- my ($obj) = @_;
-
- lives_ok {
- $obj->set({
- tag => 'tag1',
- value => 'a string',
- });
- } 'setting tag1';
- lives_ok {
- $obj->set({
- tag => 'tag2',
- value => 'another string',
- });
- } 'setting tag2';
-
- cmp_ok($obj->get({tag => 'tag1'}),
- 'eq',
- 'a string',
- 'getting tag1');
-
- cmp_ok($obj->get({tag => 'tag2'}),
- 'eq',
- 'another string',
- 'getting tag2');
-
- dies_ok {
- $obj->get({tag=>'no such tag'});
- } 'getting non-existent tag';
-
- dies_ok {
- $obj->get({});
- } 'default get dies';
-
- $obj->clear({tag=>'tag1'});
-
- dies_ok {
- $obj->get({tag=>'tag1'});
- } 'getting cleared tag';
-
- cmp_ok($obj->get({tag => 'tag2'}),
- 'eq',
- 'another string',
- 'getting tag2 after clearing');
-
- $obj->clear();
-
- dies_ok {
- $obj->get({tag=>'tag2'});
- } 'getting tag2 after clearing all dies';
-
-}
-
-subtest 'tags' => sub {
- my $obj = Data::MultiValued::Tags->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();