Branch Coverage

lib/AI/Prolog/Engine.pm
Criterion Covered Total %
branch 52 74 70.2


line true false branch
35 0 0 if (@_)
44 0 0 if (@_)
55 15 48 if (@_)
66 7 15 if (@_)
68 6 1 if ($RAW_RESULTS)
80 18 394 if (@_)
166 0 9 if ($@)
191 0 0 if ($$self{'_goal'}) { }
193 0 0 if $$self{'_goal'}->next_clause
204 23 41 if ($$self{'_run_called'}) { }
205 1 22 unless $self->backtrack
220 0 174 if ($$self{'_goal'} and $$self{'_goal'}->isa('AI::Prolog::TermList::Step'))
222 0 0 if ($$self{'_goal'})
228 0 174 if $$self{'_trace'}
229 0 174 if $$self{'_step_flag'}
231 48 126 unless ($$self{'_goal'})
234 33 15 if ($self->formatted) { }
239 9 6 $self->raw_results ? :
245 0 126 unless ($$self{'_goal'} and $$self{'_goal'}{'term'})
248 0 126 unless ($$self{'_goal'}{'next_clause'})
251 0 0 if $self->backtrack
256 37 89 if (my $next_clause = $$clause{'next_clause'})
262 114 12 if ($curr_term->unify($$self{'_goal'}->term, $$self{'_stack'})) { }
264 49 65 if ($clause and $clause->isa('AI::Prolog::TermList::Primitive')) { }
29 36 elsif (not $clause) { }
265 9 1 unless ($self->do_primitive($$self{'_goal'}{'term'}, $clause) or $self->backtrack)
273 4 25 if ($$self{'_goal'})
282 2 57 if ($$clause{'term'} eq 'AI::Prolog::Term'->CUT) { }
289 36 23 if ($i == 1) { }
304 5 7 unless $self->backtrack
311 0 45 if $$self{'_trace'}
315 201 30 if (UNIVERSAL::isa($o, 'AI::Prolog::Term')) { }
30 0 elsif (UNIVERSAL::isa($o, 'AI::Prolog::ChoicePoint')) { }
342 0 49 unless my $primitive = 'AI::Prolog::Engine::Primitives'->find($c->ID)
345 10 38 unless my $result = &$primitive($self, $term, $c)
346 0 38 if 2 == $result
348 15 23 if ($$self{'_goal'})