changelog tweak
[gitmo/Moose-Autobox.git] / t / 011_each_n_values.t
CommitLineData
0e480911 1use strict;
2use warnings;
3use Test::More;
4
5use Moose::Autobox;
6
7{
8 my @array = ('a' .. 'z');
9
10 my $aref = [ @array ];
11
12 {
13 my @vals;
450776ec 14 @array->each_n_values(2, sub { push @vals, [@_] });
0e480911 15 is(scalar @vals, 13);
16 is(scalar @$_, 2) for @vals;
17 is_deeply(@vals->map(sub { @{ $_ } }), [@array]);
18 }
19
20 {
21 my @vals;
450776ec 22 $aref->each_n_values(2, sub { push @vals, [@_] });
0e480911 23 is(scalar @vals, 13);
24 is(scalar @$_, 2) for @vals;
25 is_deeply(@vals->map(sub { @{ $_ } }), $aref);
26 }
27}
28
f089b856 29{
30 my %hash = (a => 1, b => 2, c => 3, d => 4);
31
32 my $href = { %hash };
33
34 {
35 my @vals;
36 %hash->each_n_values(2, sub { push @vals, [@_] });
37 my %seen;
38 is(@vals, 2);
39 for my $pair (@vals) { $seen{$_}++ for @$pair }
40 is_deeply(\%seen, { 1,1,2,1,3,1,4,1 });
41 }
42
43 {
44 my @vals;
45 $href->each_n_values(2, sub { push @vals, [@_] });
46 my %seen;
47 is(@vals, 2);
48 for my $pair (@vals) { $seen{$_}++ for @$pair }
49 is_deeply(\%seen, { 1,1,2,1,3,1,4,1 });
50 }
51}
52
0e480911 53done_testing;