Date-Pcalc

 view release on metacpan or  search on metacpan

t/m009.t  view on Meta::CPAN

#!perl -w

BEGIN { eval { require bytes; }; }
use strict;
no strict "vars";

eval { require Bit::Vector; };

if ($@)
{
    print "1..0\n";
    exit 0;
}

require Date::Pcalendar::Profiles;
require Date::Pcalendar;

# ======================================================================
#   $cal = Date::Pcalendar->new(PROFILE);
#   ($date,$rest) = $cal->add_delta_workdays(DATE,OFFSET);
#   $diff = $cal->delta_workdays(DATE1,DATE2,INC1,INC2);
# ======================================================================

print "1..24\n";

$n = 1;

$cal_DE_NW   = Date::Pcalendar->new( $Date::Pcalendar::Profiles::Profiles->{'DE-NW'} );
$cal_sdm_MUC = Date::Pcalendar->new( $Date::Pcalendar::Profiles::Profiles->{'sdm-MUC'} );

($date,$rest) = $cal_DE_NW->add_delta_workdays([2000,12,4],28);

if ($date == [2001,1,16])
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;
if ($rest == 0)
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;

$diff = $cal_DE_NW->delta_workdays([2000,12,4],[2001,1,16],1,0);

if ($diff == 28)
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;

($date,$rest) = $cal_sdm_MUC->add_delta_workdays([2000,12,4],28);

if ($date == [2001,1,16])
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;
if ($rest == 0)
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;

$diff = $cal_sdm_MUC->delta_workdays([2000,12,4],[2001,1,16],1,0);

if ($diff == 28)
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;

($date,$rest) = $cal_DE_NW->add_delta_workdays([2001,1,16],-28);

if ($date == [2000,12,4])
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;
if ($rest == 0)
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;

($date,$rest) = $cal_sdm_MUC->add_delta_workdays([2001,1,16],-28);

if ($date == [2000,12,4])
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;
if ($rest == 0)
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;

$diff = $cal_DE_NW->delta_workdays([2001,1,16],[2000,12,4],1,0);

if ($diff == -28)
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;

$diff = $cal_sdm_MUC->delta_workdays([2001,1,16],[2000,12,4],1,0);

if ($diff == -28)
{print "ok $n\n";} else {print "not ok $n\n";}
$n++;



( run in 0.449 second using v1.01-cache-2.11-cpan-e1769b4cff6 )