use strict;
use warnings;
use Test::Exception;
use Test::More tests => 8;
use DateTime;
throws_ok { DateTime->new( year => 10.5 ) } qr/is an integer/,
'year must be an integer';
throws_ok { DateTime->new( year => -10.5 ) } qr/is an integer/,
'year must be an integer';
throws_ok { DateTime->new( year => 10, month => 2.5 ) } qr/an integer/,
'month must be an integer';
throws_ok { DateTime->new( year => 10, month => 2, day => 12.4 ) }
qr/an integer/, 'day must be an integer';
throws_ok { DateTime->new( year => 10, month => 2, day => 12, hour => 4.1 ) }
qr/an integer/, 'hour must be an integer';
throws_ok {
DateTime->new(
year => 10,
month => 2,
day => 12,
hour => 4,
minute => 12.2
);
}
qr/an integer/, 'minute must be an integer';
throws_ok {
DateTime->new(
year => 10,
month => 2,
day => 12,
hour => 4,
minute => 12,
second => 51.8
);
}
qr/an integer/, 'second must be an integer';
throws_ok {
DateTime->new(
year => 10,
month => 2,
day => 12,
hour => 4,
minute => 12,
second => 51,
nanosecond => 124512.12412
);
}
qr/positive integer/, 'nanosecond must be an integer';