Branch Coverage

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


line true false branch
40 1554 10703 if @_ > 0
52 6 0 $@ ? :
84 107 391 if ($self->is_empty)
93 205 392 $lower == $upper ? :
138 21 3 if (@spans) { }
157 125 3 if (@sets) { }
168 2 17 if ($self->is_empty)
177 6 14 $lower == $upper ? :
181 17 0 if (@runlists) { }
205 247 6157 $self->edge_size == 0 ? :
244 84 100 unless $pos & 1
255 1 6 if $pos & 1
266 0 40155 if (scalar @ranges != 2)
274 0 40155 if ($from > $to)
280 9936 30219 if ($from_pos & 1)
283 7291 32864 if ($to_pos & 1)
297 0 31307 if (scalar(@ranges) % 2 == 1)
325 6447 1673 if (ref $first eq 'AlignDB::IntSpan') { }
815 858 elsif (&Scalar::Util::Numeric::isint($first)) { }
329 41 774 if (scalar @_ > 0) { }
351 41 5139 if ($self->is_empty) { }
358 2536 2603 if ($edges_ref->[0] == $NEG_INF) { }
365 2536 2603 if ($edges_ref->[-1] == $POS_INF) { }
392 861 0 if (ref $first eq 'AlignDB::IntSpan') { }
0 0 elsif (&Scalar::Util::Numeric::isint($first)) { }
396 0 0 if (scalar @_ > 0) { }
425 0 141 if $self->is_empty
469 26 141 if $self->is_empty
481 4 98 if $self->is_empty
505 40 88 if ($self->edge_size != $supplied->edge_size)
513 18 250 if ($edges_a[$i] != $edges_b[$i])
542 9 27 $result ? :
551 9 27 $result ? :
557 8 13 if ($index == 0 or abs $index > $self->cardinality)
560 7 6 $index < 0 ? :
577 3 6 if ($index > $element_before + $span_size) { }
602 5 7 if ($index > $element_after + $span_size) { }
627 8 8 if ($member >= $lower and $member <= $upper) { }
645 2 9 if ($from < 1)
668 45 30 if ($offset <= $span_size) { }
678 11 45 unless @edges
697 8 37 unless (defined $length)
701 2 35 if ($length <= 0)
711 28 26 if ($length <= $span_size) { }
720 28 7 if (@$edges_ref)
731 0 63 if ($self->is_empty) { }
742 0 63 if ($self->is_empty) { }
756 60 90 if (&$code_ref())
773 224 0 if (defined $element)
811 9 3 $_ > $end ? :
5 12 $_ < $start ? :
825 5 1 if ($self->is_not_empty)
837 1 13 if ($self->is_empty or $self->is_universal) { }
846 13 0 if ($c_set->is_neg_inf)
850 13 0 if ($c_set->is_pos_inf)
870 34 4 if ($lower != $self->NEG_INF)
873 34 4 if ($upper != $self->POS_INF)
876 32 6 if $lower <= $upper
914 8 0 if ($maxlength > 0)
916 9 2 if ($hole->size <= $maxlength)
934 0 28 unless $self->size and $supplied->size
937 4 24 if $overlap
944 9 20 $d1 < $d2 ? :
945 27 2 if (not defined $min_d or $d < $min_d)
960 4 7 if (ref $supplied eq 'AlignDB::IntSpan') { }
7 0 elsif (&Scalar::Util::Numeric::isint($supplied)) { }
981 5 2 if ($pos & 1)
995 4 0 if ($self->overlap($supplied))
997 5 3 if $subset->overlap($supplied)
1009 3 7 if (ref $supplied eq 'AlignDB::IntSpan') { }
7 0 elsif (&Scalar::Util::Numeric::isint($supplied)) { }
1022 2 17 if $s->overlap($ss)
1024 14 3 if (not defined $min_d or $d <= $min_d)
1025 2 12 if (defined $min_d and $d == $min_d) { }
1043 5 8 if $index == 0 or abs $index > $self->span_size
1047 1 7 $index < 0 ? :
1077 117 747 if $runlist eq $self->EMPTY_STRING
1082 199 966 if ($run =~ /^ (-?\d+) $/x) { }
956 10 elsif ($run =~ /^ (-?\d+) - (-?\d+) $/x) { }
1086 2 954 if $1 > $2
1102 688 4 if (defined $supplied and ref $supplied eq 'AlignDB::IntSpan') { }
1126 33276 57637 if ($val < $edges_ref->[$mid]) { }
49079 8558 elsif ($val > $edges_ref->[$mid]) { }