add tests for to_hash and to_ascii
[Biblio-Isis] / t / 2_isis.t
index 11fd1aa..de74585 100755 (executable)
@@ -3,7 +3,7 @@
 use strict;
 use blib;
 
-use Test::More tests => 124;
+use Test::More tests => 128;
 use File::Spec;
 
 BEGIN {
@@ -187,7 +187,7 @@ ok($isis->fetch(3), "deleted found");
 cmp_ok($isis->{deleted}, '==', 3, "MFN 3 is deleted");
 ok($isis->{record}, "record exists");
 
-diag "record = ",Dumper($isis->{record});
+diag "record = ",Dumper($isis->{record}) if ($debug);
 
 $isis = Biblio::Isis->new (
        isisdb => $path_winisis,
@@ -211,5 +211,30 @@ $isis->{record} = {
 };
 $isis->{current_mfn} = 42;
 
-diag "to_hash = ",Dumper( $isis->to_hash( $isis->mfn ) );
-diag "to_ascii = \n", $isis->to_ascii( $isis->mfn );
+ok(my $hash = $isis->to_hash( $isis->mfn ), 'to_hash');
+diag "to_hash = ",Dumper( $hash ) if ($debug);
+is_deeply( $hash, {
+       "000" => [42],
+       900   => [{ a => "900a", b => "900b", c => "900c" }],
+       901   => [
+               { a => "901a-1", b => "901b-1", c => "901c-1" },
+               { a => "901a-2", b => "901b-2" },
+               { a => "901a-3" },
+       ],
+       902   => [
+               { a => ["a1", "a2", "a3", "a4", "a5"], b => ["b1", "b2"], c => "c1" },
+       ],
+}, 'hash is_deeply');
+
+ok(my $ascii = $isis->to_ascii( $isis->mfn ), 'to_ascii');
+diag "to_ascii = \n", $ascii if ($debug);
+cmp_ok($ascii, 'eq', <<'__END_OF_ASCII__', 'to_ascii output');
+0      42
+900    ^a900a^b900b^c900c
+901    ^a901a-1^b901b-1^c901c-1
+901    ^a901a-2^b901b-2
+901    ^a901a-3
+902    ^aa1^aa2^aa3^bb1^aa4^bb2^cc1^aa5
+__END_OF_ASCII__
+
+