Finance-Bank-SentinelBenefits-Csv401kConverter
view release on metacpan or search on metacpan
t/qif_writer.t view on Meta::CPAN
use Test::More tests => 19;
use Modern::Perl;
use DateTime;
use lib './lib';
use File::Temp qw(tempfile);
use_ok( 'Finance::Bank::SentinelBenefits::Csv401kConverter::QifWriter' );
my $date = DateTime->new( year => 1964,
month => 10,
day => 16,);
diag("Header tests");
{
my ($temp_fh, $temp_filename) = tempfile(UNLINK=>1);
diag("Temp file is $temp_filename, will be auto-removed");
{#make sure that it goes out of scope, forcing the underlying writer to close
my $writer = Finance::Bank::SentinelBenefits::Csv401kConverter::QifWriter->
new(
output_file => ">$temp_filename",
account => 'TestAccount',
trade_date => $date,
);
isnt($writer, undef, "Construction works");
}
my $fh;
open ($fh, $temp_filename) or die "Can't open temp file";
ok($fh, "Able to open temp file");
matchHeader($fh);
# my @expected = ('!Account', 'NTestAccount', 'TType:Invst');
# my $index = 0;
# while(<$fh>){
# if($index >= @expected){
# last;
# }
# my $item = chop($_);
# warn($item);
# is($_, $expected[$index++], "Header should match expected");
# }
close($fh) or die "Can't close temp file";
}
diag("Write one line tests - deferral");
{
my ($temp_fh, $temp_filename) = tempfile(UNLINK=>0);
diag("Temp file is $temp_filename, will be auto-removed");
{#make sure that it goes out of scope, forcing the underlying writer to close
my $writer = Finance::Bank::SentinelBenefits::Csv401kConverter::QifWriter->
( run in 0.718 second using v1.01-cache-2.11-cpan-d80b1682f3f )