The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
# Shamelessly stolen from DateTime::Format::MySQL - Thanks Dave
use Test::More tests => 6;
use DateTime::Format::Oracle;

my $class = 'DateTime::Format::Oracle';

my $dt = DateTime->new(
    year   => 2000,
    month  => 5,
    day    => 6,
    hour   => 15,
    minute => 23,
    second => 44,
    time_zone => 'UTC',
);

my %tests = (
    '2000-05-06 15:23:44'              => 'YYYY-MM-DD HH24:MI:SS',
    '2000-05-06 15:23:44 UTC'          => 'YYYY-MM-DD HH24:MI:SS TZR',
    '06-May-00'                        => 'DD-Mon-RR',
    '06-May-00 03.23.44.000000 PM'     => 'DD-Mon-RR HH.MI.SSXFF AM',
    '06-May-00 03.23.44.000000 PM UTC' => 'DD-Mon-RR HH.MI.SSXFF AM TZR',
    'Saturday, 06 May 2000'            => 'DAY, DD Mon YYYY',
);

foreach my $result (keys %tests) {
    my $nls_format = $tests{$result};
    local $ENV{NLS_TIMESTAMP_FORMAT} = $nls_format;
    is($class->format_timestamp($dt), $result, "format_timestamp $nls_format");
}