1use Test::More;
2use strict; use warnings FATAL => 'all';
3
4use List::Objects::WithUtils 'array';
5
6my $arr = array( 1 .. 3 );
7my $mapval = $arr->mapval(sub { ++$_ });
8is_deeply
9  [ $mapval->all ],
10  [ 2, 3, 4 ],
11  'mapval ok';
12
13is_deeply
14  [ $arr->all ],
15  [ 1, 2, 3 ],
16  'original intact';
17
18$mapval = $arr->mapval(sub { $_[0]++ });
19is_deeply
20  [ $mapval->all ],
21  [ 2, 3, 4 ],
22  'mapval on $_[0] ok';
23
24
25ok array->mapval(sub { 1 })->is_empty, 'empty array mapval ok';
26
27
28done_testing;
29