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) ; }