use strict;
use warnings;
use Test::Base;
use Acme::DateTime::Duration::Numeric;
use DateTime;
filters { expected => 'chomp' };
my $base = DateTime->new(year => 2008, month => 1, day => 15);
plan tests => 1 * blocks;
run {
my $block = shift;
my $duration = eval "use Acme::DateTime::Duration::Numeric;" . $block->input;
die $@ if $@;
is $base->clone->add_duration($duration)->iso8601, $block->expected, $block->input;
};
__END__
===
--- input: 1->day
--- expected: 2008-01-16T00:00:00
===
--- input: 2->days
--- expected: 2008-01-17T00:00:00
===
--- input: 1->minute
--- expected: 2008-01-15T00:01:00
===
--- input: 2->minutes
--- expected: 2008-01-15T00:02:00
===
--- input: 1->second
--- expected: 2008-01-15T00:00:01
===
--- input: 2->seconds
--- expected: 2008-01-15T00:00:02
===
--- input: 1->minute + 2->seconds
--- expected: 2008-01-15T00:01:02
===
--- input: 2->months
--- expected: 2008-03-15T00:00:00
===
--- input: 2->years
--- expected: 2010-01-15T00:00:00
===
--- input: 2->weeks
--- expected: 2008-01-29T00:00:00
===
--- input: 2->fortnights
--- expected: 2008-02-12T00:00:00