# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test;
BEGIN { plan tests => 14 };
use Date::PeriodParser;
ok(2); # If we made it this far, we're ok.
#########################
# Insert your test code below, the Test module is use()ed here so read
# its man page ( perldoc Test ) for help writing this test script.
$Date::PeriodParser::TestTime = 1018645296;
# (22:01:36 12/4/2002)
my %tests = (
"round about now" => [ 1018644996, 1018645596 ],
today => [ 1018566000, 1018652399 ],
yesterday => [ 1018479600, 1018565999 ],
"yesterday morning" => [ 1018479600, 1018522800 ],
"the day before yesterday" => [ 1018393200, 1018479599 ],
"tomorrow evening" => [ 1018717200, 1018738799 ],
"last night" => [ 1018555200, 1018587600 ],
"this afternoon" => [ 1018614600, 1018630800 ],
"tonight" => [ 1018641600, 1018674000 ],
"4 days ago" => [ 1018220400, 1018306799 ],
"roughly yesterday afternoon" => [1018521000, 1018551600],
"around the morning of the day before yesterday" => [1018386000, 1018443600],
"roughly eleven days ago" => [ 1017486000, 1017831599 ],
);
for (keys %tests) {
my ($from, $to) = parse_period($_);
my ($efrom, $eto) = @{$tests{$_}};
if ($from == $efrom and $to == $eto) {
ok(1);
} else {
print "($from, $to) != ($efrom, $eto)\n";
print "Saw from @{[ scalar localtime $from ]}, expected @{[ scalar localtime $efrom ]} for $_\n" if $from != $efrom;
print "Saw to @{[ scalar localtime $to ]}, expected @{[ scalar localtime $eto ]} for $_\n" if $to != $eto;
ok(0);
}
}
#print $_, ", " for keys %tests;