1use strict;
2BEGIN { $^W = 1 }
3
4use Test::More tests => 9;
5use DateTime;
6use DateTime::Format::Epoch::DotNet;
7
8my $f = DateTime::Format::Epoch::DotNet->new();
9
10isa_ok($f, 'DateTime::Format::Epoch::DotNet' );
11
12my $dt = DateTime->new( year  => 1, month => 1, day   => 1 );
13is($f->format_datetime($dt), 0, 'Epoch = 0');
14is(DateTime::Format::Epoch::DotNet->format_datetime($dt), 0, 'Epoch = 0');
15
16$dt->set( hour => 1 );
17is($f->format_datetime($dt), 3600*1e7, 'Epoch + 1hour');
18is(DateTime::Format::Epoch::DotNet->format_datetime($dt), 3600*1e7, 'Epoch + 1hour');
19
20$dt->set( day => 2, hour => 0 );
21is($f->format_datetime($dt), 24*3600*1e7, 'Epoch + 1day');
22is(DateTime::Format::Epoch::DotNet->format_datetime($dt), 24*3600*1e7, 'Epoch + 1day');
23
24$dt = DateTime->new( year => 100, month => 1, day => 1 );
25
26is($f->format_datetime($dt) - 31241376000000000, 0, '100 AD (object)');
27is(DateTime::Format::Epoch::DotNet->format_datetime($dt) - 31241376000000000, 0, '100 AD (class)');
28