1use strict;
2BEGIN { $^W = 1 }
3
4use Test::More tests => 6;
5use DateTime;
6use DateTime::Format::Epoch;
7
8my $dt = DateTime->new( year  => 1970, month => 1, day   => 1 );
9
10my $f = DateTime::Format::Epoch->new( epoch => $dt, dhms => 1,
11                                      skip_leap_seconds => 0 );
12
13isa_ok($f, 'DateTime::Format::Epoch' );
14
15ok(eq_array([$f->format_datetime($dt)], [0,0,0,0]),
16   'Epoch = 0/0:0:0');
17
18$dt->set( hour => 1 );
19ok(eq_array([$f->format_datetime($dt)], [0,1,0,0]),
20  'Epoch + 1hour');
21
22$dt->set( day => 2, hour => 0 );
23ok(eq_array([$f->format_datetime($dt)], [1,0,0,0]),
24  'Epoch + 1 day');
25
26$dt = DateTime->new( year => 1973, month => 1, day => 2 );
27ok(eq_array([$f->format_datetime($dt)], [365*2+366+1,0,0,2]),
28  'Leap second counted');
29
30$dt = DateTime->new( year => 1969, month => 12, day => 22, hour => 22 );
31ok(eq_array([$f->format_datetime($dt)], [-9, -2, 0, 0]),
32  'Epoch - 9days 2hours');
33