File Coverage

blib/lib/Quantum/Superpositions/Lazy/Role/Operation.pm
Criterion Covered Total %
statement 15 15 100.0
branch 4 6 66.6
condition 1 3 33.3
subroutine 5 5 100.0
pod n/a
total 25 29 86.2


line stmt bran cond sub pod time code
1             package Quantum::Superpositions::Lazy::Role::Operation;
2             $Quantum::Superpositions::Lazy::Role::Operation::VERSION = '1.12';
3 15     15   126535 use v5.24;
  15         53  
4 15     15   79 use warnings;
  15         29  
  15         435  
5 15     15   74 use Carp qw(croak);
  15         28  
  15         722  
6              
7 15     15   77 use Moo::Role;
  15         27  
  15         96  
8              
9             requires qw(
10             run
11             supported_types
12             );
13              
14             has "sign" => (
15             is => "ro",
16             );
17              
18             sub _clear_parameters
19             {
20 81188     81188   151382 my ($self, $param_num, @parameters) = @_;
21              
22 81188 100       145395 my ($params_min, $params_max) = ref $param_num eq 'ARRAY'
23             ? $param_num->@*
24             : ($param_num, undef)
25             ;
26              
27 81188 50       143419 croak "not enough parameters to " . $self->sign
28             if @parameters < $params_min;
29              
30 81188 50 33     186611 croak "too many parameters to " . $self->sign
31             if defined $params_max && @parameters > $params_max;
32             }
33              
34             1;
35