Branch Coverage

blib/lib/AlignDB/IntSpan.pm
Criterion Covered Total %
branch 145 166 87.3


line true false branch
41 1554 10703 if @_ > 0
53 6 0 $@ ? :
85 107 391 if ($self->is_empty)
94 205 392 $lower == $upper ? :
139 21 3 if (@spans) { }
158 125 3 if (@sets) { }
169 2 17 if ($self->is_empty)
178 6 14 $lower == $upper ? :
182 17 0 if (@runlists) { }
206 247 6157 $self->edge_size == 0 ? :
245 101 100 unless $pos & 1
256 1 6 if $pos & 1
266 0 40156 if (scalar @ranges != 2)
274 0 40156 if ($from > $to)
280 9931 30225 if ($from_pos & 1)
283 7289 32867 if ($to_pos & 1)
296 0 31307 if (scalar(@ranges) % 2 == 1)
322 6447 1673 if (ref $first eq 'AlignDB::IntSpan') { }
815 858 elsif (&isint($first)) { }
326 41 774 if (scalar @_ > 0) { }
347 41 5139 if ($self->is_empty) { }
354 2536 2603 if ($edges_ref->[0] == $NEG_INF) { }
361 2536 2603 if ($edges_ref->[-1] == $POS_INF) { }
386 861 0 if (ref $first eq 'AlignDB::IntSpan') { }
0 0 elsif (&isint($first)) { }
390 0 0 if (scalar @_ > 0) { }
417 0 141 if $self->is_empty
461 26 141 if $self->is_empty
473 4 98 if $self->is_empty
497 40 88 if ($self->edge_size != $supplied->edge_size)
505 18 250 if ($edges_a[$i] != $edges_b[$i])
534 9 27 $result ? :
543 9 27 $result ? :
549 8 13 if ($index == 0 or abs $index > $self->cardinality)
552 7 6 $index < 0 ? :
569 3 6 if ($index > $element_before + $span_size) { }
594 5 7 if ($index > $element_after + $span_size) { }
619 8 8 if ($member >= $lower and $member <= $upper) { }
637 2 9 if ($from < 1)
660 45 30 if ($offset <= $span_size) { }
670 11 45 unless @edges
689 8 37 unless (defined $length)
693 2 35 if ($length <= 0)
703 28 26 if ($length <= $span_size) { }
712 28 7 if (@$edges_ref)
723 0 63 if ($self->is_empty) { }
734 0 63 if ($self->is_empty) { }
748 60 90 if (&$code_ref())
765 224 0 if (defined $element)
803 9 3 $_ > $end ? :
5 12 $_ < $start ? :
817 5 1 if ($self->is_not_empty)
829 1 13 if ($self->is_empty or $self->is_universal) { }
838 13 0 if ($c_set->is_neg_inf)
842 13 0 if ($c_set->is_pos_inf)
862 34 4 if ($lower != $self->NEG_INF)
865 34 4 if ($upper != $self->POS_INF)
868 32 6 if $lower <= $upper
906 8 0 if ($maxlength > 0)
908 9 2 if ($hole->size <= $maxlength)
926 0 28 unless $self->size and $supplied->size
929 4 24 if $overlap
936 9 20 $d1 < $d2 ? :
937 27 2 if (not defined $min_d or $d < $min_d)
952 4 7 if (ref $supplied eq 'AlignDB::IntSpan') { }
7 0 elsif (&isint($supplied)) { }
973 5 2 if ($pos & 1)
987 4 0 if ($self->overlap($supplied))
989 5 3 if $subset->overlap($supplied)
1001 3 7 if (ref $supplied eq 'AlignDB::IntSpan') { }
7 0 elsif (&isint($supplied)) { }
1014 2 17 if $s->overlap($ss)
1016 14 3 if (not defined $min_d or $d <= $min_d)
1017 2 12 if (defined $min_d and $d == $min_d) { }
1035 5 8 if $index == 0 or abs $index > $self->span_size
1039 1 7 $index < 0 ? :
1069 117 747 if $runlist eq $self->EMPTY_STRING
1074 199 966 if ($run =~ /^ (-?\d+) $/x) { }
956 10 elsif ($run =~ /^ (-?\d+) - (-?\d+) $/x) { }
1078 2 954 if $1 > $2
1094 688 4 if (defined $supplied and ref $supplied eq 'AlignDB::IntSpan') { }
1118 33291 57709 if ($val < $edges_ref->[$mid]) { }
49155 8554 elsif ($val > $edges_ref->[$mid]) { }