use IO::File;
use SQL::Translator;
+use Test::More;
-# How many tests
-BEGIN { print "1..3\n"; }
+plan tests => 3;
# Our object; uses the default parser and producer
my $tr = SQL::Translator->new;
# Pass filename: simplest way
my $translated_datafile = $tr->translate($datafile);
-warn "Data from filename method is\n$translated_datafile\n\n\n";
# Pass string reference
read($fh, $data, -s $datafile);
my $translated_data = $tr->translate(\$data);
-warn "Data from string is\n$translated_data\n\n\n";
-
-# Pass IO::File instance
-$fh->setpos(0);
-my $translated_fh = $tr->translate($fh);
-warn "Data from filehandle method is\n$translated_fh\n\n\n";
-
-# With all that setup out of the way, we can perform the actual tests.
-# We need to test the equality of:
-#
-# filename and string
-# filename and filehandle
-# filehandle and string
-#
-# And then we have all possibilities. Note that the order in which
-# the comparison is done is pretty arbitrary, and doesn't affect the
-# outcomes. Similarly, the order of the eq tests is also unimportant.
-#
-print "not " unless ($translated_datafile eq $translated_fh);
-print "ok 1 # from file == from filehandle\n";
-
-print "not " unless ($translated_datafile eq $translated_data);
-print "ok 2 # from file == from string\n";
-
-print "not " unless ($translated_data eq $translated_fh);
-print "ok 3 # from string == from filehandle\n";
-
-# For this test, we should devise some other sort of output routine,
-# that can take a data structure and output it in a reasonable -- and
-# machine parsable! -- way.
+ok(length $translated_datafile, "passing string (filename) works");
+ok(length $translated_data, "passing string as SCALAR reference");
+is($translated_datafile, $translated_data, "from file == from string");