List-Enumerator

 view release on metacpan or  search on metacpan

t/01_base.t  view on Meta::CPAN

package List::Enumerator::Test;
use strict;
use warnings;
use base qw/Test::Class/;
use Test::More;
use Test::Exception;

use lib "lib";
use List::Enumerator qw/E/;
use List::Enumerator::Array;
use List::Enumerator::Sub;

use Data::Dumper;
sub p ($) { warn Dumper shift }

sub test_each : Test(3) {
	my $result = [];

	E(1, 2, 3)->each(sub {
		push @$result, $_;
	});
	is_deeply $result, [1, 2, 3];

	$result = [];
	my $array_enum = E(1, 2, 3);
	$array_enum->each(sub {
		push @$result, $_;
	});
	is_deeply $result, [1, 2, 3];

	$result = [];
	$array_enum->each(sub {
		push @$result, $_;
	});
	is_deeply $result, [1, 2, 3];
}

sub test_to_list : Test(3) {
	is_deeply [ E(1, 2, 3)->to_list ], [1, 2, 3];

	my $list = E(1, 2, 3);
	$list->next;
	is_deeply [ $list->to_list ], [1, 2, 3];
	is_deeply [ $list->to_list ], [1, 2, 3];
}


sub test_sub_basic : Test(2) {
	my $list;

	$list = List::Enumerator::Sub->new(
		next => sub {
			156
		},
		rewind => sub {
		}
	);

	is $list->next, 156;

	$list = E({
		next => sub {
			156
		}
	});
	is $list->next, 156;
}


sub test_to_a : Test(2) {
	is_deeply E(1, 2, 3)->to_a, [1, 2, 3];
	is_deeply [ E(1, 2, 3)->to_a ], [ [1, 2, 3] ];
}



( run in 1.319 second using v1.01-cache-2.11-cpan-364913b4093 )