File Coverage

lib/Catan/Asset/Settlement.pm
Criterion Covered Total %
statement 41 42 97.6
branch 1 2 50.0
condition 1 3 33.3
subroutine 15 16 93.7
pod 0 4 0.0
total 58 67 86.5


line stmt bran cond sub pod time code
1             package Catan::Asset::Settlement;
2             $Catan::Asset::Settlement::VERSION = '0.03';
3 4     4   20 use strict;
  4     1   7  
  4         106  
  1         738  
  1         2  
  1         20  
4 4     4   17 use warnings;
  4     1   7  
  4         89  
  1         6  
  1         2  
  1         23  
5 4     4   19 use Catan::Resource::Brick;
  4     1   8  
  4         87  
  1         4  
  1         2  
  1         25  
6 4     4   416 use Catan::Resource::Grain;
  4     1   9  
  4         103  
  1         5  
  1         2  
  1         18  
7 4     4   19 use Catan::Resource::Lumber;
  4     1   5  
  4         90  
  1         5  
  1         2  
  1         26  
8 4     4   348 use Catan::Resource::Wool;
  4     1   9  
  4         707  
  1         5  
  1         1  
  1         234  
9              
10             sub new
11             {
12 13     13 0 31 my ($class, $location) = @_;
13              
14 13 50 33     48 die "$class new requires a location argument"
15             unless $location && $location->isa('Catan::Map::Intersection');
16              
17 13         65 return bless {
18             location => $location,
19             code => 'S',
20             }, $class;
21             }
22              
23 0     0 0 0 sub code { $_[0]->{code} }
24 7911     7911 0 20952 sub location { $_[0]->{location} }
25              
26             sub cost
27             {
28             return [
29 5     5 0 26 Catan::Resource::Brick->new(-1),
30             Catan::Resource::Grain->new(-1),
31             Catan::Resource::Lumber->new(-1),
32             Catan::Resource::Wool->new(-1),
33             ];
34             }
35             1;
36              
37             __END__