File Coverage

blib/lib/App/RecordStream/Test/LastHelper.pm
Criterion Covered Total %
statement 29 29 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 0 2 0.0
total 34 36 94.4


line stmt bran cond sub pod time code
1             package App::RecordStream::Test::LastHelper;
2              
3 2     2   1915 use strict;
  2         5  
  2         49  
4 2     2   9 use warnings;
  2         3  
  2         42  
5              
6 2     2   10 use App::RecordStream::Record;
  2         3  
  2         495  
7              
8             sub test_aggregator
9             {
10 3     3 0 32 my $aggr = shift;
11 3         7 my $field = shift;
12              
13 3         13 do_test($aggr, $field, 'D', 'C', 'B', 'F', 'J', 'A', 'C', 'D', 'D');
14 3         1020 do_test($aggr, $field, 'B', 'B', 'I', 'D', 'J', 'A', 'A', 'B');
15 3         896 do_test($aggr, $field, 'B', 'E', 'D', 'E', 'A', 'A', 'G', 'D', 'C', 'B');
16 3         804 do_test($aggr, $field, 'I', 'C', 'B', 'J', 'C', 'B', 'A', 'I');
17 3         791 do_test($aggr, $field, 'A', 'E', 'I', 'F', 'E', 'H', 'I', 'F', 'H', 'A');
18 3         828 do_test($aggr, $field, 'A', 'I', 'H', 'H', 'D', 'B', 'J', 'B', 'A', 'A');
19 3         843 do_test($aggr, $field, 'F', 'G', 'F', 'E', 'E', 'H', 'E', 'F');
20 3         827 do_test($aggr, $field, 'E', 'B', 'G', 'H', 'D', 'G', 'F', 'D', 'E');
21 3         796 do_test($aggr, $field, 'I', 'J', 'A', 'G', 'J', 'G', 'A', 'H', 'I');
22             }
23              
24             sub do_test
25             {
26 27     27 0 49 my $aggr = shift;
27 27         44 my $field = shift;
28 27         39 my $ans = shift;
29 27         81 my @v = @_;
30              
31 27         73 my $cookie = $aggr->initial();
32              
33 27         53 foreach my $v (@v)
34             {
35 216         486 $cookie = $aggr->combine($cookie, App::RecordStream::Record->new($field => $v));
36             }
37              
38 27         68 my $value = $aggr->squish($cookie);
39              
40 27         113 Test::More::is($value, $ans, "last of " . join(", ", @v));
41             }
42              
43             1;