Branch Coverage

blib/lib/AI/DecisionTree.pm
Criterion Covered Total %
branch 65 92 70.6


line true false branch
34 0 626 unless $args{'attributes'}
35 0 626 unless defined $args{'result'}
36 624 2 unless exists $args{'name'}
50 288 42538 unless (exists $$hash{$key})
69 0 7 unless (@{$$self{'instances'};})
70 0 0 if $$self{'tree'}
76 1 6 if exists $args{'max_depth'}
81 6 0 if $$self{'prune'}
82 3 3 if $self->purge
93 0 1 unless exists $opt{'from'}
95 0 1 unless UNIVERSAL::isa($other, 'AI::DecisionTree')
107 0 2 unless exists $$hashref{$name}
116 0 6 if @_
131 0 169 if $$self{'verbose'}
133 16 153 if $$self{'curr_depth'} > $$self{'depth'}
146 106 63 if (keys %results == 1)
155 1 62 if $$self{'noise_mode'} eq 'fatal' and not defined $best_attr
158 3 59 if (not defined $best_attr or $$self{'max_depth'} and $$self{'curr_depth'} > $$self{'max_depth'})
170 2250 4 defined $v ? :
172 0 59 unless keys %split > 1
196 0 1917 unless keys %totals
203 150 1767 if $score < $best_score
252 103 58 unless $$node{'children'}
262 2 56 if ($score < 0)
274 0 770 if exists $$node{'exeptions'}
277 501 269 if (exists $$node{'result'}) { }
290 0 58 if exists $$node{'nodes_below'}
303 931 0 ref $callback ? :
305 606 325 unless $$node{'children'}
313 0 90 unless $args{'attributes'} or $args{'callback'}
315 0 90 unless $$self{'tree'}
319 88 347 if (exists $$tree{'result'})
321 7 81 unless wantarray
334 343 2 exists $args{'attributes'}{$$tree{'split_on'}} ? :
2 345 exists $args{'callback'} ? :
338 2 345 unless $tree = $$tree{'children'}{$instance_val}
354 0 0 if ($$node{'split_on'}) { }
362 0 0 exists $$colors{$$node{'result'}} ? :
373 0 0 if $parent
384 14 2 @_ ? :
389 10 6 if exists $$tree{'result'}
400 10 2 @_ ? :
401 8 4 if exists $$tree{'result'}
404 2 2 $stmt ? :
422 0 0 unless defined $val
430 0 2254 unless exists $$self{'attributes'}{$attr}