Branch Coverage

blib/lib/AlignDB/IntSpan.pm
Criterion Covered Total %
branch 138 166 83.1


line true false branch
41 1532 10694 if @_ > 0
53 0 0 $@ ? :
85 106 386 if ($self->is_empty)
94 199 389 $lower == $upper ? :
139 17 2 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 245 6152 $self->edge_size == 0 ? :
245 108 100 unless $pos & 1
256 1 6 if $pos & 1
266 0 40090 if (scalar @ranges != 2)
274 0 40090 if ($from > $to)
280 9935 30155 if ($from_pos & 1)
283 7288 32802 if ($to_pos & 1)
296 0 31297 if (scalar(@ranges) % 2 == 1)
322 6447 1651 if (ref $first eq 'AlignDB::IntSpan') { }
806 845 elsif (&isint($first)) { }
326 38 768 if (scalar @_ > 0) { }
347 40 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)
658 45 30 if ($offset <= $span_size) { }
668 11 45 unless @edges
687 8 37 unless (defined $length)
691 2 35 if ($length <= 0)
701 28 26 if ($length <= $span_size) { }
710 28 7 if (@$edges_ref)
721 0 63 if ($self->is_empty) { }
732 0 63 if ($self->is_empty) { }
746 60 90 if (&$code_ref())
763 210 0 if (defined $element)
800 0 0 $_ > $end ? :
0 0 $_ < $start ? :
813 5 1 if ($self->is_not_empty)
824 1 13 if ($self->is_empty or $self->is_universal) { }
833 13 0 if ($c_set->is_neg_inf)
837 13 0 if ($c_set->is_pos_inf)
856 34 4 if ($lower != $self->NEG_INF)
859 34 4 if ($upper != $self->POS_INF)
862 32 6 if $lower <= $upper
896 8 0 if ($maxlength > 0)
898 9 2 if ($hole->size <= $maxlength)
916 0 28 unless $self->size and $supplied->size
919 4 24 if $overlap
926 9 20 $d1 < $d2 ? :
927 27 2 if (not defined $min_d or $d < $min_d)
942 4 7 if (ref $supplied eq 'AlignDB::IntSpan') { }
7 0 elsif (&isint($supplied)) { }
963 5 2 if ($pos & 1)
977 4 0 if ($self->overlap($supplied))
979 5 3 if $subset->overlap($supplied)
991 3 7 if (ref $supplied eq 'AlignDB::IntSpan') { }
7 0 elsif (&isint($supplied)) { }
1004 2 17 if $s->overlap($ss)
1006 14 3 if (not defined $min_d or $d <= $min_d)
1007 2 12 if (defined $min_d and $d == $min_d) { }
1025 5 8 if $index == 0 or abs $index > $self->span_size
1029 1 7 $index < 0 ? :
1059 115 730 if $runlist eq $self->EMPTY_STRING
1064 188 950 if ($run =~ /^ (-?\d+) $/x) { }
950 0 elsif ($run =~ /^ (-?\d+) - (-?\d+) $/x) { }
1068 0 950 if $1 > $2
1084 688 4 if (defined $supplied and ref $supplied eq 'AlignDB::IntSpan') { }
1108 33065 57598 if ($val < $edges_ref->[$mid]) { }
49093 8505 elsif ($val > $edges_ref->[$mid]) { }