Branch Coverage

blib/lib/Game/TextMapper/Schroeder/Alpine.pm
Criterion Covered Total %
branch 201 248 81.0


line true false branch
79 0 14 if $altitude->{$coordinates}
98 0 600 unless $current_altitude > 0
102 0 600 if rand() < $n - int($n)
104 0 600 if $n < 1
109 708 7865 unless $self->legal($x, $y)
112 7650 215 if ($altitude->{$other})
114 1011 6639 unless $self->legal($x, $y)
117 6268 371 if $altitude->{$other}
120 586 0 $current_altitude > 0 ? :
134 0 600 unless (defined $altitude->{$coordinates})
139 0 0 unless $self->legal($x, $y)
141 0 0 unless defined $altitude->{$other}
146 0 0 unless (defined $altitude->{$coordinates})
175 2 28 if $current_altitude > 10 or $current_altitude < 0
181 28 0 if ($delta < -1 or $delta > 1)
185 9 131 unless $self->legal($x, $y)
188 1 130 if $current_altitude > 10 or $current_altitude < 0
207 0 600 if $altitude->{$coordinates} <= $self->bottom
216 855 2145 if $legal and $altitude->{$other} > $altitude->{$coordinates}
218 117 1790 if $legal and $water->{$other} and $water->{$other} == ($i - 3) % 6
226 1729 1523 unless defined $water->{$next}
230 231 1292 unless $self->legal($x, $y)
234 68 1224 if $loop{$next}
237 202 1180 if (not defined $direction or not $legal and $altitude->{$coordinates} < $lowest or $legal and $altitude->{$other} < $lowest)
240 709 71 $legal ? :
245 578 22 if (defined $direction)
248 578 0 unless $world->{$coordinates} =~ s/arrow\d/arrow$water->{$coordinates}/u
258 21 579 if ($altitude->{$coordinates} >= 10) { }
46 533 elsif ($altitude->{$coordinates} >= 9) { }
105 428 elsif ($altitude->{$coordinates} >= 8) { }
272 0 600 if ($altitude->{$coordinates} <= $self->bottom)
276 0 0 unless $self->legal($x, $y)
278 0 0 if $altitude->{$other} <= $self->bottom
281 0 0 $ocean ? :
291 22 578 if (not defined $water->{$coordinates} and $world->{$coordinates} ne "ocean")
303 78 522 if $world->{$coordinates} =~ /ocean|water|swamp|grass/u
305 293 229 unless $flow->{$coordinates}
307 29 200 if $dry->{$coordinates}
311 26 174 unless $self->legal($x, $y)
314 132 42 if $altitude->{$coordinates} > $altitude->{$other}
316 26 16 if ($altitude->{$coordinates} >= 6) { }
334 0 2 unless @lakes
350 0 210 unless $coordinates
353 191 19 if ($self->legal($coordinates) and $world->{$coordinates} ne "ocean")
358 212 644 if $seen{$to}
371 79 57 if (not defined $water->{$from} or $water->{$from} != $i) { }
376 22 57 unless $world->{$from} =~ s/arrow\d/arrow$i/u
386 20 2 if $start
388 2 17 unless $start
398 49 68 unless $world->{$_} =~ /mountain|swamp|grass|water|ocean/u
406 290 0 if $altitude->{$_} == 7 || $altitude->{$_} == 8 || $world->{$_} =~ /water/u && $altitude->{$_} > $self->bottom and not $flow->{$_}
421 673 105 if (defined $water->{$coordinates}) { }
423 0 673 if grep /$other/u, @$river
425 12 661 if (ref $flow->{$other}) { }
461 38 469 if ($seen{$coordinates})
465 1 37 if (@$canyon)
467 0 1 if ($other[0] eq $canyon->[-1]) { }
474 1 1 if $other ne $coordinates
487 37 432 if ($altitude->{$coordinates} and $current_altitude < $altitude->{$coordinates} and not $world->{$coordinates} =~ /water|ocean/u) { }
491 16 21 unless @$canyon
493 37 0 unless $dry->{$coordinates}
499 15 417 if (@$canyon)
522 0 0 if $flow->{$other}
527 0 0 if $flow->{$other}
535 60 181 unless $world->{$coordinates} =~ /mountain|hill|water|ocean|swamp|grass/u
538 0 241 if rand() < $self->arid - int($self->arid)
541 241 0 if ($n >= 1)
544 91 1107 unless $self->legal($x, $y)
546 73 1034 if $dry->{$other}
547 384 650 if $altitude->{$coordinates} < $altitude->{$other}
548 253 397 unless $world->{$other} =~ /mountain|hill|water|ocean|swamp|grass/u
551 241 0 if ($n >= 2)
554 347 2049 unless $self->legal($x, $y)
556 1473 576 if $altitude->{$coordinates} <= $altitude->{$other}
560 66 1692 unless $self->legal($mx, $my)
562 130 1562 if $dry->{$midway}
563 989 573 if $self->distance($midway, $other) != 1
564 33 540 if $altitude->{$coordinates} < $altitude->{$midway}
565 39 501 if $altitude->{$midway} < $altitude->{$other}
569 75 501 unless $ok
570 278 223 unless $world->{$other} =~ /mountain|hill|water|ocean|swamp|grass/u
575 129 462 if ($altitude->{$coordinates} >= 7) { }
297 165 elsif ($altitude->{$coordinates} >= 6) { }
131 34 elsif ($altitude->{$coordinates} >= 4) { }
592 37 241 if $dry->{$coordinates}
604 325 275 if $altitude->{$coordinates} < 7 or $altitude->{$coordinates} > 8
608 10 265 unless $self->legal($x, $y)
611 92 173 if $altitude->{$coordinates} > $altitude->{$other}
623 430 170 if $altitude->{$coordinates} != 7
625 7 163 if $world->{$coordinates} =~ /water|ocean/u
629 13 150 unless $self->legal($x, $y)
632 94 56 if $altitude->{$coordinates} > $altitude->{$other}
642 56 544 unless ($world->{$coordinates} =~ /mountain|hill|water|ocean|swamp|grass|forest|firs|trees/u)
643 11 45 if ($altitude->{$coordinates} >= 7) { }
657 11 49 unless $self->legal($x, $y)
669 19 14 unless $world->{$coordinates} =~ s/light-green bushes/light-green grass/u or $world->{$coordinates} =~ s/light-green grass/dust grass/u or $world->{$coordinates} =~ s/dust grass/dust hill/u
680 2 2 if @candidates > $max / 10
684 26 41 unless $world->{$coordinates} =~ s/fir-forest/firs thorp/u
686 51 1749 if $world->{$_} =~ /(?
688 0 4 if @candidates > $max / 20
693 44 1756 if $world->{$_} =~ /(?
695 0 4 if @candidates > $max / 40
702 0 4 if @candidates > $max / 40
709 0 4 if @candidates > $max / 40
718 391 19 unless $world->{$other} and $world->{$other} =~ /water|ocean/u
729 1 90 if $world->{$coordinates} =~ /large-town|city/u
730 5 86 if $world->{$coordinates} =~ / town/u
745 91 3464 if $from eq $to
748 124 94 if ($distance <= 3 and !$best_distance || $distance <= $best_distance and !$best || $altitude->{$to} < $best_altitude)
756 7 84 unless $best
758 21 63 if $trails{"$best-$from"}
771 0 600 if $altitude->{$coordinates} <= $self->bottom
774 238 2762 unless $self->legal($x, $y)
776 186 2576 if ($altitude->{$coordinates} - $altitude->{$other} >= 2)
777 116 70 if (@neighbors == 6) { }
793 75 310 if $seen{$coordinates}
795 30 280 unless exists $altitude->{$coordinates}
796 0 280 if ($altitude->{$coordinates} <= $self->bottom)
797 0 0 if ($altitude->{$coordinates} == $self->bottom and $world->{$coordinates} =~ /water|ocean/u and $altitude->{$coordinates} == $altitude->{$last} - 1) { }
847 0 36 if $step == $i++
857 20 16 if ($step >= 10)
911 0 2 if ($step > 0)
926 0 2 if ($step > 0)
938 2 0 if $url