1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#!/usr/bin/perl -w
use strict;
use Test::More;
plan tests => 4;
use DateTime;
use DateTime::Set;
# use warnings;
#======================================================================
# next method
#======================================================================
use constant INFINITY => 100 ** 100 ** 100 ;
use constant NEG_INFINITY => -1 * (100 ** 100 ** 100);
{
my $set =
DateTime::Set->from_recurrence
( next =>
sub { $_[0]->truncate( to => 'day' )->add( days => 1 ) }
);
my $dt = DateTime->new( year => 2000,
month => 10,
day => 1,
);
my $next_dt = $set->next($dt);
is( $next_dt->ymd, '2000-10-02',
'next day is 2000-10-02' );
is( $set->next($next_dt)->ymd, '2000-10-03',
'next day is 2000-10-03' );
}
{
# previous-only recurrence
my $set =
DateTime::Set->from_recurrence
( previous =>
sub { $_[0]->truncate( to => 'day' )->subtract( days => 1 ) }
);
my $dt = DateTime->new( year => 2000,
month => 10,
day => 1,
);
my $next_dt = $set->next($dt);
is( $next_dt->ymd, '2000-10-02',
'next day is 2000-10-02' );
is( $set->next($next_dt)->ymd, '2000-10-03',
'next day is 2000-10-03' );
}
|