1use Test::More;
2use strict; use warnings FATAL => 'all';
3
4use List::Objects::WithUtils 'array';
5
6my $arr = array( 1 .. 10 );
7
8my $threeper = $arr->ssect(3);
9
10ok $threeper->count == 4, 'ssect(3) returned four items';
11
12is_deeply [ $threeper->get(0)->all ], [ 1 .. 3 ],
13  'ssect(3) first set ok' or diag explain $threeper;
14is_deeply [ $threeper->get(3)->all ], [ 10 ],
15  'ssect(3) last set ok' or diag explain $threeper;
16
17my $zeroarg = array(1..10)->ssect;
18isa_ok $zeroarg, 'List::Objects::WithUtils::Array';
19ok $zeroarg->is_empty, 'zero arg ssect produced empty array obj'
20  or diag explain $zeroarg;
21
22ok array->ssect(3)->is_empty, 'ssect on empty array produced empty array';
23
24done_testing;
25