File Coverage

lib/Settlers/Asset/DevelopmentCard.pm
Criterion Covered Total %
statement 35 37 94.5
branch 1 2 50.0
condition 1 3 33.3
subroutine 13 15 86.6
pod 0 5 0.0
total 50 62 80.6


line stmt bran cond sub pod time code
1             package Settlers::Asset::DevelopmentCard;
2             $Settlers::Asset::DevelopmentCard::VERSION = '0.07';
3 4     4   17 use strict;
  4     1   7  
  4         93  
  1         877  
  1         2  
  1         26  
4 4     4   18 use warnings;
  4     1   7  
  4         94  
  1         5  
  1         1  
  1         28  
5 4     4   17 use Settlers::Resource::Ore;
  4     1   7  
  4         72  
  1         4  
  1         2  
  1         22  
6 4     4   17 use Settlers::Resource::Grain;
  4     1   7  
  4         84  
  1         5  
  1         2  
  1         22  
7 4     4   19 use Settlers::Resource::Wool;
  4     1   7  
  4         906  
  1         5  
  1         1  
  1         566  
8              
9             our %types = (
10             KN => 'Knight',
11             MO => 'Monopoly',
12             RB => 'Road Building',
13             VP => 'Victory Point',
14             YP => 'Year of Plenty',
15             );
16              
17             sub new
18             {
19 8     8 0 16 my ($class, $type) = @_;
20             die "$class new requires a type argument"
21 8 50 33     52 unless $type && exists $types{$type};
22              
23 8         36 bless {
24             type => $type,
25             code => 'DC',
26             }, $class;
27             }
28              
29 0     0 0 0 sub code { $_[0]->{code} }
30 66     66 0 370 sub type { $_[0]->{type} }
31 0     0 0 0 sub type_name { $types{ $_[0]->{type} } }
32              
33             sub cost
34             {
35             return [
36 8     8 0 40 Settlers::Resource::Ore->new(-1),
37             Settlers::Resource::Grain->new(-1),
38             Settlers::Resource::Wool->new(-1),
39             ];
40             }
41             1;
42              
43             __END__