36 lines
1009 B
Perl
36 lines
1009 B
Perl
|
|
use warnings FATAL => qw(all);
|
|
use ExtUtils::testlib;
|
|
use Test::More tests => 18 ;
|
|
use Data::Dumper ;
|
|
|
|
use Array::IntSpan;
|
|
|
|
my $trace = shift || 0 ;
|
|
|
|
my @expect= ([1,3,'ab'],[5, 7, 'cd'], [13, 26, 'ef']) ;
|
|
my $r = Array::IntSpan->new(@expect) ;
|
|
|
|
diag(Dumper $r) if $trace ;
|
|
|
|
ok ( defined($r) , 'Array::IntSpan new() works') ;
|
|
is_deeply( $r , \@expect, 'new content ok') ;
|
|
|
|
foreach my $t (
|
|
[[32,34,'oops'],[]],
|
|
[[4,4,'oops'],[]],
|
|
[[24,26,'oops'],[[24,26,'ef']]],
|
|
[[24,29,'oops'],[[24,26,'ef']]],
|
|
[[10,16,'oops'],[[13,16,'ef']]],
|
|
[[20,24,'oops'],[[20,24,'ef']]],
|
|
[[0,9,'oops'],[[1,3,'ab'],[5,7,'cd']]],
|
|
[[0,6,'oops'],[[1,3,'ab'],[5,6,'cd']]],
|
|
)
|
|
{
|
|
my @clobbered = $r->clobbered_items(@{$t->[0]}) ;
|
|
is(@$r, 3, 'check nb of items in range') || diag(Dumper $r);
|
|
is_deeply(\@clobbered, $t->[1], "clobbered_items @{$t->[0]}") ||
|
|
diag(Dumper \@clobbered) ;
|
|
}
|
|
|