File Coverage

lib/BalanceOfPower/Commands/AddRoute.pm
Criterion Covered Total %
statement 24 24 100.0
branch 2 4 50.0
condition 4 6 66.6
subroutine 4 4 100.0
pod 0 1 0.0
total 34 39 87.1


line stmt bran cond sub pod time code
1             package BalanceOfPower::Commands::AddRoute;
2             $BalanceOfPower::Commands::AddRoute::VERSION = '0.400110';
3 13     13   41 use Moo;
  13         13  
  13         52  
4              
5 13     13   2291 use BalanceOfPower::Constants ":all";
  13         14  
  13         5207  
6 13     13   56 use BalanceOfPower::Utils qw( prev_turn );
  13         15  
  13         2269  
7              
8             extends 'BalanceOfPower::Commands::NoArgs';
9              
10             sub IA
11             {
12 8     8 0 11 my $self = shift;
13 8         11 my $actor = $self->get_nation();
14 8         26 my $prev_year = prev_turn($actor->current_year);
15 8         19 my @trade_ok = $actor->get_events("TRADE OK", $prev_year);
16 8         16 my @trade_ko = $actor->get_events("TRADE KO", $prev_year);
17 8         17 my @remains = $actor->get_events("REMAIN", $prev_year);
18 8         78 my @deleted = $actor->get_events("TRADEROUTE DELETED", $prev_year);
19 8         13 my @boost = $actor->get_events("BOOST OF PRODUCTION", $prev_year);
20 8 50 66     33 if(@remains > 0 && @deleted == 0 && @boost == 0)
      66        
21             {
22 3         2 my $rem = $remains[0];
23 3         8 $rem =~ m/^REMAIN (.*)$/;
24 3         6 my $remaining = $1;
25 3 50       10 if($remaining >= TRADING_QUOTE)
26             {
27 3         7 return "ADD ROUTE";
28             }
29             }
30 5         10 return undef;
31             }
32              
33             1;