Date-Gregorian
view release on metacpan or search on metacpan
t/01_basics.t view on Meta::CPAN
"(22) 24 25 26 27 28 29 30\n" .
"(23) 31 \n";
# --- some more general tests ---
$date = Date::Gregorian->new->set_ymd(1998, 26, 29);
test_ymd(196, $date, 2000, 2, 29);
$date->set_ymd(2100, 3, 0);
test_ymd(197, $date, 2100, 2, 28);
$date->set_ymd(1502, -22, 29);
test_ymd(198, $date, 1500, 2, 29);
$date = $date->new->set_ymd(2006, 11, 11);
$result = $date->check_ywd(2006, 52, 6);
test 199, $result;
test 200, $result == $date;
test_ymd(201, $date, 2006, 12, 31);
$result = $date->check_ywd(2006, 53, 0);
test 202, !defined($result);
test_ymd(203, $date, 2006, 12, 31);
$result = $date->check_ywd(2006, 0, 6);
test 204, !defined($result);
test_ymd(205, $date, 2006, 12, 31);
$result = $date->check_ywd(2004, 53, 6);
test 206, $result;
test_ymd(207, $date, 2005, 1, 2);
# --- results of set_* methods
$date = Date::Gregorian->new;
$bate = $date->new;
test 208, $bate != $date;
$date2 = $date->set_date($bate);
test 209, $date == $date2;
$date2 = $date->set_ymd(2007, 4, 8);
test 210, $date == $date2;
$date2 = $date->set_yd(2007, 98);
test 211, $date == $date2;
$date2 = $date->set_ywd(2007, 14, 6);
test 212, $date == $date2;
$date2 = $date->set_easter(2007);
test 213, $date == $date2;
$date2 = $date->set_today;
test 214, $date == $date2;
$date2 = $date->set_localtime(1175990400);
test 215, $date == $date2;
$date2 = $date->set_gmtime(1175990400);
test 216, $date == $date2;
$date2 = $date->set_weekday(SUNDAY, '<=');
test 217, $date == $date2;
# --- easter formula, border cases ---
test_ymd(218, $date->set_easter(2011), 2011, 4, 24);
test_ymd(219, $date->set_easter(2038), 2038, 4, 25);
test_ymd(220, $date->set_easter(2049), 2049, 4, 18);
test_ymd(221, $date->set_easter(2076), 2076, 4, 19);
test_ymd(222, $date->set_easter(2201), 2201, 4, 19);
test_ymd(223, $date->set_easter(2258), 2258, 4, 25);
$date->configure(1600, 1, 1, 1700);
test_ymd(224, $date->set_easter(1666), 1666, 4, 25);
$date->configure(-5000, 1, 1, -5000);
$date->set_easter(-4000);
test_ymd(225, $date, -4000, 4, 16);
# --- more checks of checks ---
$date = Date::Gregorian->new;
test 226, !$date->check_ymd();
test 227, !$date->check_ymd(2007);
test 228, !$date->check_ymd(2007, 6);
test 229, !$date->check_ymd(2007, undef, 20);
test 230, !$date->check_ymd(undef, 6, 20);
test 231, !$date->check_ymd(2007, 6, 0);
test 232, !$date->check_ymd(2007, 6, 31);
test 233, !$date->check_ymd(2007, 6, 32);
test 234, !$date->check_ymd(2007, 0, 1);
test 235, !$date->check_ymd(2007, 13, 1);
test 236, !$date->check_ymd(2147483647, 1, 1);
test 237, !$date->check_ymd(-2147483647, 1, 1);
test 238, MONDAY + 6 == SUNDAY;
test 239, !$date->check_ywd();
test 240, !$date->check_ywd(2007);
test 241, !$date->check_ywd(2007, 20);
test 242, !$date->check_ywd(2007, undef, MONDAY);
test 243, !$date->check_ywd(undef, 20, MONDAY);
test 244, !$date->check_ywd(2007, 20, MONDAY-1);
test 245, !$date->check_ywd(2007, 20, SUNDAY+1);
test 246, !$date->check_ywd(2007, 0, SUNDAY);
test 247, !$date->check_ywd(2007, 53, MONDAY);
test 248, !$date->check_ywd(2007, 54, MONDAY);
test 249, $date->check_ywd(2008, 1, MONDAY);
test 250, !$date->check_ywd(2147483647, 20, MONDAY);
test 251, !$date->check_ywd(-2147483647, 1, MONDAY);
# --- get_days_until, compare ---
$date = Date::Gregorian->new->set_ymd(1999, 11, 29);
$date2 = $date->new->set_ymd(2007, 6, 14);
test 252, 2754 == $date->get_days_until($date2);
test 253, -2754 == $date2->get_days_until($date);
test 254, -1 == $date->compare($date2);
test 255, 1 == $date2->compare($date);
$date2->set_date($date);
test 256, 0 == $date->get_days_until($date2);
test 257, 0 == $date->get_days_until($date);
test 258, 0 == $date->compare($date2);
( run in 2.322 seconds using v1.01-cache-2.11-cpan-98e64b0badf )