Time-UTC
view release on metacpan or search on metacpan
BEGIN { use_ok "Time::UTC", qw(utc_day_to_cjdn utc_cjdn_to_day); }
use Math::BigRat 0.13;
sub match($$) {
my($a, $b) = @_;
ok ref($a) eq ref($b) && $a == $b;
}
sub br(@) { Math::BigRat->new(@_) }
eval { utc_day_to_cjdn(br("0.5")); };
like $@, qr/\Anon-integer day [^\t\n\f\r ]+ is invalid /;
eval { utc_cjdn_to_day(br("0.5")); };
like $@, qr/\Ainvalid CJDN /;
sub check($$) {
my($day, $cjdn) = @_;
match utc_day_to_cjdn($day), $cjdn;
);
}
use Math::BigRat 0.13;
sub match($$) {
my($a, $b) = @_;
ok ref($a) eq ref($b) && $a == $b;
}
sub br(@) { Math::BigRat->new(@_) }
my $epsilon = br("0.000000000001");
{
no warnings "redefine";
sub Time::UTC::Segment::_download_latest_data() { 0 }
}
my $seg = utc_start_segment();
my $aval = $a->[$i];
my $bval = $b->[$i];
unless(ref($aval) eq ref($bval) && $aval == $bval) {
ok 0;
return;
}
}
ok 1;
}
sub br(@) { Math::BigRat->new(@_) }
eval { utc_secs_to_hms(br("-0.1")); };
like $@, qr/\Acan't have negative seconds in a day /;
foreach my $hr (br(-1), br(24), br("0.5")) {
eval { utc_hms_to_secs($hr, br(0), br(0)); };
like $@, qr/\Ainvalid hour number /;
}
foreach my $mi (br(-1), br(60), br("0.5")) {
eval { utc_hms_to_secs(br(0), $mi, br(0)); };
BEGIN { use_ok "Time::UTC", qw(utc_day_to_mjdn utc_mjdn_to_day); }
use Math::BigRat 0.13;
sub match($$) {
my($a, $b) = @_;
ok ref($a) eq ref($b) && $a == $b;
}
sub br(@) { Math::BigRat->new(@_) }
eval { utc_day_to_mjdn(br("0.5")); };
like $@, qr/\Anon-integer day [^\t\n\f\r ]+ is invalid /;
eval { utc_mjdn_to_day(br("0.5")); };
like $@, qr/\Ainvalid MJDN /;
sub check($$) {
my($day, $mjdn) = @_;
match utc_day_to_mjdn($day), $mjdn;
my $aval = $a->[$i];
my $bval = $b->[$i];
unless(ref($aval) eq ref($bval) && $aval == $bval) {
ok 0;
return;
}
}
ok 1;
}
sub br(@) { Math::BigRat->new(@_) }
eval { utc_day_to_ymd(br("0.5")); };
like $@, qr/\Anon-integer day [^\t\n\f\r ]+ is invalid /;
eval { utc_ymd_to_day(br("0.5"), br(1), br(1)); };
like $@, qr/\Ainvalid year number /;
foreach my $mo (br(0), br(13), br("0.5")) {
eval { utc_ymd_to_day(br(1958), $mo, br(1)); };
like $@, qr/\Ainvalid month number /;
}
my $aval = $a->[$i];
my $bval = $b->[$i];
unless(ref($aval) eq ref($bval) && $aval == $bval) {
ok 0;
return;
}
}
ok 1;
}
sub br(@) { Math::BigRat->new(@_) }
match_vec [ utc_instant_to_ymdhms(br(33), br("14706.7")) ],
[ br(1958), br(2), br(3), br(4), br(5), br("6.7") ];
match_vec [ utc_ymdhms_to_instant(br(1958), br(2), br(3),
br(4), br(5), br("6.7")) ],
[ br(33), br("14706.7") ];
1;
( run in 4.627 seconds using v1.01-cache-2.11-cpan-524268b4103 )