Branch Coverage

blib/lib/AI/Evolve/Befunge/Critter.pm
Criterion Covered Total %
branch 95 96 98.9


line true false branch
316 1 38 unless exists $args{'Config'}
317 25 13 unless defined $args{'Tokens'}
318 37 1 unless defined $args{'CodeCost'}
319 37 1 unless defined $args{'IterCost'}
320 33 5 unless defined $args{'RepeatCost'}
321 33 5 unless defined $args{'StackCost'}
322 35 3 unless defined $args{'ThreadCost'}
324 1 37 unless exists $args{'Blueprint'}
325 1 36 unless exists $args{'Physics'}
326 1 35 unless defined $args{'Color'}
332 1 34 unless $args{'CodeCost'} > 0
333 1 33 unless $args{'IterCost'} > 0
334 1 32 unless $args{'RepeatCost'} > 0
335 1 31 unless $args{'StackCost'} > 0
336 1 30 unless $args{'ThreadCost'} > 0
338 1 29 unless $args{'Tokens'} > 0
339 1 28 if $args{'Blueprint'}->code =~ /\n/
344 23 5 if exists $args{'BoardSize'}
355 23 5 if (exists $$self{'boardsize'})
356 17 6 if $$self{'dims'} < $$self{'boardsize'}->get_dims
359 17 11 if ($$self{'codesize'}->get_dims < $$self{'dims'})
367 23 5 if (exists $$self{'boardsize'})
368 1 22 if ($$self{'boardsize'}->get_dims < $$self{'dims'})
378 1 27 unless $$self{'color'} > 0
380 1 26 unless ref $$self{'physics'}
386 35 22 if (not exists $$self{'boardsize'} or $$self{'codesize'}->get_component($dim) > $$self{'boardsize'}->get_component($dim)) { }
397 26 31 if $this > $maxlen
410 3 23 if (exists $$self{'blueprint'}{'cache'} and exists $$self{'blueprint'}{'cache'}{$cachename}) { }
414 22 1 if ($$self{'dims'} > 1)
438 22 1 unless exists $$self{'blueprint'}{'cache'}
461 23 3 if (exists $args{'Commands'})
471 23 3 if exists $$self{'boardsize'}
479 21 5 if defined $self->physics->token
506 14 17 if defined $board
515 131 539 unless (defined $ip)
517 15 116 unless scalar @ips
521 30 625 unless (defined $$ip{'_ai_critter'})
525 0 655 unless $self->spend($self->itercost)
528 10 642 if (defined $$self{'move'})
556 3 26 if ($@ ne '')
599 6 947 if $tokens < 0
614 38 86 if (exists $$storage{'maxsize'})
617 8 30 unless $v->bounds_check($min, $max)
634 1 287 unless $critter->spend($critter->stackcost * scalar(@newvals))
646 1 1 unless $critter->spend($critter->stackcost * $count)
656 1 1 unless $critter->spend($critter->repeatcost * abs($count))
666 2 2 unless $critter->spend($critter->repeatcost * abs($count))
681 1 1 unless $critter->spend($cost)