NAME
ETL::Pipeline::Output::UnitTest - Output destination for unit tests
SYNOPSIS
use ETL::Pipeline;
ETL::Pipeline->new( {
input => ['UnitTest'],
mapping => {First => 'Header1', Second => 'Header2'},
output => ['UnitTest']
} )->process;
DESCRIPTION
ETL::Pipeline::Output::UnitTest is an output destination used by the unit tests. It proves that the ETL::Pipeline::Output role works.
The "data" is stored in memory.
METHODS & ATTRIBUTES
records
In ETL::Pipeline::Output::UnitTest, a record is a hash reference. records stores a list of record (hash references). The list survives after calling "finish". This allows you to check the results of a test after calling "process" in ETL::Pipeline.
The list is cleared after calling "configure".
all_records
The all_records method returns a list of all the records. It dereferences "records".
number_of_records
The number_of_records method returns the count of records currently in the list.
Called from "process" in ETL::Pipeline
write_record
Saves the current record into "records".
configure
configure doesn't actually do anything. But it is required by "process" in ETL::Pipeline.
finish
finish doesn't actually do anything. But it is required by "process" in ETL::Pipeline. "records" persists so that the unit test can check its values.
Other methods & attributes
default_fields
Initialize "current" for the next record.
SEE ALSO
ETL::Pipeline, ETL::Pipeline::Output, ETL::Pipeline::Output::Storage::Hash, ETL::Pipeline::Input::UnitTest
AUTHOR
Robert Wohlfarth <robert.j.wohlfarth@vanderbilt.edu>
LICENSE
Copyright 2016 (c) Vanderbilt University
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.