1use strict; 2BEGIN { $^W = 1 } 3 4use Test::More tests => 11; 5use DateTime; 6use DateTime::Format::Epoch::Unix; 7 8my $f = DateTime::Format::Epoch::Unix->new(); 9 10isa_ok($f, 'DateTime::Format::Epoch::Unix' ); 11 12my $dt = DateTime->new( year => 1970, month => 1, day => 1 ); 13is($f->format_datetime($dt), 0, 'Epoch = 0'); 14is(DateTime::Format::Epoch::Unix->format_datetime($dt), 0, 'Epoch = 0'); 15 16$dt->set( hour => 1 ); 17is($f->format_datetime($dt), 3600, 'Epoch + 1hour'); 18is(DateTime::Format::Epoch::Unix->format_datetime($dt), 3600, 'Epoch + 1hour'); 19 20$dt->set( day => 2, hour => 0 ); 21is($f->format_datetime($dt), 24*3600, 'Epoch + 1day'); 22is(DateTime::Format::Epoch::Unix->format_datetime($dt), 24*3600, 'Epoch + 1day'); 23 24$dt = DateTime->new( year => 2003, month => 4, day => 27, 25 hour => 21, minute => 9, second => 57, 26 nanosecond => 8e8, time_zone => 'Europe/Amsterdam' ); 27 28is($f->format_datetime($dt), 1051470597, '"now"'); 29is(DateTime::Format::Epoch::Unix->format_datetime($dt), 1051470597, '"now"'); 30 31$dt = DateTime->new( year => 1969, month => 12, day => 22 ); 32is($f->format_datetime($dt), -10*24*3600, 'Epoch - 10days'); 33is(DateTime::Format::Epoch::Unix->format_datetime($dt), -10*24*3600, 'Epoch - 10days'); 34