File Coverage

blib/lib/Test/RandomCheck/Types/String.pm
Criterion Covered Total %
statement 27 27 100.0
branch n/a
condition n/a
subroutine 10 10 100.0
pod 0 3 0.0
total 37 40 92.5


line stmt bran cond sub pod time code
1             package Test::RandomCheck::Types::String;
2 4     4   12 use strict;
  4         4  
  4         85  
3 4     4   9 use warnings;
  4         4  
  4         74  
4 4     4   11 use parent "Test::RandomCheck::Types";
  4         3  
  4         11  
5 4     4   182 use Class::Accessor::Lite (ro => [qw(min max)], rw => ['_list_type']);
  4         4  
  4         17  
6 4     4   252 use Test::RandomCheck::Types::List qw(list);
  4         4  
  4         191  
7 4     4   1294 use Test::RandomCheck::Types::Char qw(char);
  4         8  
  4         566  
8              
9             sub new {
10 6     6 0 9 my $class = shift;
11 6         31 my $self = $class->SUPER::new(@_);
12 6         46 $self->_list_type(list (char, $self->min, $self->max));
13 6         64 $self;
14             }
15              
16             sub arbitrary {
17 4121     4121 0 3503 my $self = shift;
18 4121     4322   5585 $self->_list_type->arbitrary->map(sub {join '', @_});
  4322         39528  
19             }
20              
21             sub memoize_key {
22 606     606 0 1842 my ($self, $str) = @_;
23 606         736 $self->_list_type->memoize_key(split //, $str);
24             }
25              
26             1;