File: folds.t

package info (click to toggle)
liblist-objects-withutils-perl 2.028003-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,276 kB
  • sloc: perl: 1,957; makefile: 17; sh: 6
file content (18 lines) | stat: -rw-r--r-- 564 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use Test::More;
use strict; use warnings FATAL => 'all';

use Lowu;

my $sum = sub { $_[0] + $_[1] };
my $arr = [1 .. 3];

cmp_ok $arr->reduce($sum), '==', 6, 'boxed reduce with positional args ok';
cmp_ok [1]->reduce($sum), '==', 1, 'boxed array with one element reduce ok';
ok !defined []->reduce($sum), 'boxed empty array reduce returns undef';
ok !defined []->foldr($sum), 'boxed empty array foldr ok';
cmp_ok [6, 3, 2]->foldl(sub { $a / $b }), '==', 1,
  'boxed foldl ok';
cmp_ok [2, 3, 6]->foldr(sub { $b / $a }), '==', 1,
  'boxed foldr ok';

done_testing;