#!perl
# Test the input sources
use Test::More tests => 3;
use strict;
use warnings;
use Data::Iterator::Hierarchical;
my @test_data=([1,1],[2,2]);
sub test_identity_iterator {
my ($test,$sth) = @_;
my $it = hierarchical_iterator($sth);
is_deeply([map{[$it->()]} 0..@test_data],[@test_data,[]],$test);
}
test_identity_iterator('array',[@test_data]);
my @consulmable = @test_data;
sub Data::Iterator::Hierarchical::Test::fetchrow_array { @{shift(@consulmable)||[]} }
test_identity_iterator('object', bless {},'Data::Iterator::Hierarchical::Test');
@consulmable = @test_data;
test_identity_iterator('code',\&Data::Iterator::Hierarchical::Test::fetchrow_array);