Branch Coverage

blib/lib/Algorithm/SixDegrees.pm
Criterion Covered Total %
branch 96 124 77.4


line true false branch
81 4 19 unless defined $name
82 2 17 unless defined $sub
83 4 13 unless ref $sub and &reftype($sub) eq 'CODE'
87 1 5 if $source eq $name
106 2 16 unless defined $name
107 1 15 unless defined $sub
108 2 13 unless ref $sub and &reftype($sub) eq 'CODE'
112 12 5 if $source eq $name
145 2 33 unless (ref $self and $self->isa('Algorithm::SixDegrees'))
149 1 32 unless (defined $mainsource)
153 1 31 unless (defined $start)
157 1 30 unless (defined $end)
171 2 28 unless (exists $self->{'_sources'} and &reftype($self->{'_sources'}) eq 'ARRAY')
178 26 13 if ($mainsource eq $source) { }
187 1 37 unless (ref $self->{'_source_left'} and ref $self->{'_source_left'}{$source} and &reftype($self->{'_source_left'}{$source}{'sub'}) eq 'CODE')
193 1 35 unless (ref $self->{'_source_right'} and ref $self->{'_source_right'}{$source} and &reftype($self->{'_source_right'}{$source}{'sub'}) eq 'CODE')
201 2 22 unless ($source_exists)
205 1 21 if (scalar keys %leftside > 2)
211 5 16 if ($start eq $end)
213 3 2 wantarray ? :
225 8 8 if (defined $altsource)
227 0 8 if (defined $err)
228 0 8 if (defined $id)
229 0 8 if not defined $count or $count == 0
232 0 8 if (defined $err)
233 2 6 if (defined $id)
235 2 0 wantarray ? :
237 2 4 if not defined $count or $count == 0
240 0 4 if (defined $err)
241 0 4 if (defined $id)
242 0 4 if not defined $leftcount or $leftcount == 0
245 0 4 if (defined $err)
246 2 2 if (defined $id)
251 0 2 unless (defined $la and defined $lm and defined $ra and defined $rm)
255 2 0 wantarray ? :
257 0 2 if not defined $rightcount or $rightcount == 0
267 42 3 if ($leftcount <= $rightcount) { }
268 4 38 if (defined $altsource) { }
274 2 1 if (defined $altsource) { }
280 0 45 if (defined $err)
284 7 38 if (defined $id)
292 6 27 if defined $altsource
293 0 33 unless (defined $match[0])
301 4 0 if defined $altsource
302 0 4 unless (defined $match[-1])
307 5 2 wantarray ? :
309 3 35 if ($leftcount == 0 or $rightcount == 0)
315 3 0 wantarray ? :
333 0 6 if defined $err
334 0 6 if defined $id
335 0 6 if not defined $count or $count == 0
351 0 75 unless &reftype($$self{"_source_$side"}{$fromsource}{'sub'}) eq 'CODE'
352 0 75 unless &reftype($thisside) eq 'HASH'
353 0 75 unless exists $thisside->{$fromsource}
354 0 75 unless &reftype($thatside) eq 'HASH'
355 0 75 unless exists $thatside->{$tosource}
359 120 80 if exists $self->{'_investigated'}{$fromsource}{$id}
362 80 0 &reftype($$self{"_source_$side"}{$fromsource}{'args'}) eq 'ARRAY' ? :
364 80 0 $use_args ? :
365 0 80 if scalar @ids == 1 and not defined $ids[0]
367 87 53 unless (exists $thisside->{$tosource}{$thisid})
371 11 129 if exists $thatside->{$tosource}{$thisid}