File: delete_when.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 (32 lines) | stat: -rw-r--r-- 852 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use Test::More;
use strict; use warnings FATAL => 'all';

use Lowu;

my $arr = [ 1, 2, 1, 1, 3, 4, 1 ];

my $deleted = $arr->delete_when(sub { $_ == 1 });

is_deeply [ $deleted->all ], [ (1) x 4 ], 
  'boxed delete_when returned correct values';

is_deeply [ $arr->all ], [ 2, 3, 4 ],
  'boxed delete_when deleted correct values';

$arr->delete_when(sub { $_[0] == 2 });
is_deeply [ $arr->all ], [ 3, 4 ],
  'boxed delete_when using @_ ok';

$deleted = $arr->delete_when(sub { $_ == 10 });
is_deeply [ $arr->all ], [ 3, 4 ],
  'boxed delete_when deleted nothing ok';

is_deeply [ $deleted->all ], [],
  'boxed delete_when deleted nothing ok';

$arr = [];
$deleted = $arr->delete_when(sub { $_ == 2 });
ok $deleted->is_empty, 'boxed delete_when on empty list ok';
ok $arr->is_empty,     'boxed delete_when on empty list left list alone';

done_testing;