DateTime-Calendar-Christian

 view release on metacpan or  search on metacpan

t/06leapyears.t  view on Meta::CPAN

use 5.008004;

use strict;
use warnings;

use Test::More tests => 8;
use DateTime::Calendar::Christian;

#########################

my ($rd, $d);

$d = DateTime::Calendar::Christian->new( year  => 1900,
                                         month => 1,
                                         day   => 1 );
ok( ! $d->is_leap_year, '1900 is non-leap' );

$d = DateTime::Calendar::Christian->new( year  => 1500,
                                         month => 1,
                                         day   => 1 );
ok( $d->is_leap_year, '1500 is leap' );

$rd = DateTime->new( year => 1700, month => 2, day => 20 );

$d = DateTime::Calendar::Christian->new( year  => 1700,
                                         month => 1,
                                         day   => 1,
                                         reform_date => $rd );
ok( ! $d->is_leap_year, 'difficult case 1' );

$d = DateTime::Calendar::Christian->new( year  => 1700,
                                         month => 5,
                                         day   => 1,
                                         reform_date => $rd );
ok( ! $d->is_leap_year, 'difficult case 2' );

$rd = DateTime->new( year => 1700, month => 5, day => 20 );

$d = DateTime::Calendar::Christian->new( year  => 1700,
                                         month => 1,
                                         day   => 1,
                                         reform_date => $rd );
ok( $d->is_leap_year, 'difficult case 3' );

$d = DateTime::Calendar::Christian->new( year  => 1700,
                                         month => 10,
                                         day   => 1,
                                         reform_date => $rd );
ok( $d->is_leap_year, 'difficult case 4' );

$rd = DateTime->new( year => 1584, month => 3, day => 5 );

$d = DateTime::Calendar::Christian->new( year  => 1584,
                                         month => 1,
                                         day   => 1,
                                         reform_date => $rd );
ok( ! $d->is_leap_year, 'no leap day during calendar reform' );

$rd = DateTime->new( year => 1700, month => 3, day => 5 );

$d = DateTime::Calendar::Christian->new( year  => 1700,
                                         month => 1,
                                         day   => 1,
                                         reform_date => $rd );
ok( ! $d->is_leap_year, 'no leap day during calendar reform' );

done_testing;

# ex: set textwidth=72 :



( run in 1.968 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )