use Test::More;
use strict; use warnings FATAL => 'all';

use List::Objects::WithUtils 'array';

my $arr = array( 1 .. 3 );
my $mapval = $arr->mapval(sub { ++$_ });
is_deeply
  [ $mapval->all ],
  [ 2, 3, 4 ],
  'mapval ok';

is_deeply
  [ $arr->all ],
  [ 1, 2, 3 ],
  'original intact';

$mapval = $arr->mapval(sub { $_[0]++ });
is_deeply
  [ $mapval->all ],
  [ 2, 3, 4 ],
  'mapval on $_[0] ok';

done_testing;
