1use Test::More;
2use strict; use warnings FATAL => 'all';
3
4use List::Objects::WithUtils 'array';
5
6my $arr = array( 1 .. 7 );
7my $itr = $arr->natatime(3);
8is_deeply [ $itr->() ], [1, 2, 3], 'natatime itr() 1 ok';
9is_deeply [ $itr->() ], [4, 5, 6], 'natatime itr() 2 ok';
10is_deeply [ $itr->() ], [7], 'natatime itr() 3 ok';
11ok !$itr->(), 'last itr returned false';
12
13my $counted;
14$arr->natatime(3, sub { ++$counted });
15is $counted, 3, 'natatime with coderef ok';
16
17$itr = array->natatime(2);
18ok !defined $itr->(), 'empty array itr returned undef';
19
20done_testing;
21