#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 2;
BEGIN { push(@INC, "lib", "t"); }
use Net::Amazon::MechanicalTurk::RowData;
# Test dynamic rowdata
my $data = Net::Amazon::MechanicalTurk::RowData->toRowData(sub {
my ($block) = @_;
foreach my $id (1..20) {
$block->({
time => scalar localtime(),
number => rand(),
id => $id
});
}
});
my $array = [];
$data->each(sub {
my ($_data, $row) = @_;
fail unless ($data->fieldNames->[0] eq "id");
fail unless ($data->fieldNames->[1] eq "number");
fail unless ($data->fieldNames->[2] eq "time");
push(@$array, $row);
});
ok($#{$array} == 19, "Subroutine RowData");
$data = Net::Amazon::MechanicalTurk::RowData->toRowData($array);
$array = [];
$data->each(sub {
my ($_data, $row) = @_;
fail unless ($data->fieldNames->[0] eq "id");
fail unless ($data->fieldNames->[1] eq "number");
fail unless ($data->fieldNames->[2] eq "time");
push(@$array, $row);
});
ok($#{$array} == 19, "ArrayHash RowData");