Branch Coverage

blib/lib/Sim/Agent/Compiler.pm
Criterion Covered Total %
branch 59 88 67.0


line true false branch
16 0 2 unless ref $ast eq "ARRAY" and @$ast and $ast->[0] eq "system"
33 0 14 unless ref $form eq "ARRAY"
38 1 13 if ($keyword eq 'limits') { }
2 11 elsif ($keyword eq 'entry') { }
11 0 elsif ($keyword eq 'agent') { }
84 0 3 unless ref $item eq "ARRAY" and @$item == 2
91 0 3 unless exists $graph->{'limits'}{$key}
93 0 3 unless defined $value and $value =~ /^\d+$/
104 0 2 unless @$form == 2
108 0 2 if defined $graph->{'entry'}
117 0 11 unless @$form >= 3
123 0 11 if exists $graph->{'agents'}{$name}
142 0 51 unless ref $attr eq "ARRAY"
147 11 40 if ($key eq 'role') { }
5 35 elsif ($key eq 'model') { }
5 30 elsif ($key eq 'prompt-file') { }
5 25 elsif ($key eq 'self-critic-file') { }
5 20 elsif ($key eq 'revision-file') { }
6 14 elsif ($key eq 'parse-file') { }
5 9 elsif ($key eq 'send-to') { }
4 5 elsif ($key eq 'on-ok') { }
4 1 elsif ($key eq 'on-fail') { }
1 0 elsif ($key eq 'wait-for') { }
149 0 11 unless @$attr == 2
154 0 5 unless @$attr == 2
159 0 5 unless @$attr == 2
164 0 5 unless @$attr == 2
169 0 5 unless @$attr == 2
174 0 6 unless @$attr == 2
179 0 5 unless @$attr == 2
202 0 11 unless $agent->{'role'}
211 0 9 unless @$form == 2 and ref $form->[1] eq "ARRAY"
223 0 2 unless defined $graph->{'entry'}
226 0 2 unless exists $graph->{'agents'}{$graph->{'entry'}}
233 2 9 if ($agent->{'role'} eq "chief")
240 0 11 unless $agent->{'role'} =~ /^(worker|critic|chief)$/
242 5 6 if ($agent->{'role'} eq "worker")
245 0 5 unless defined $agent->{'send_to'}
248 4 7 if ($agent->{'role'} eq "critic")
251 0 4 unless @{$agent->{'on_ok'};}
253 0 4 unless @{$agent->{'on_fail'};}
256 5 6 defined $agent->{'send_to'} ? :
264 0 16 unless exists $graph->{'agents'}{$target}
268 0 2 unless $chief_count == 1