r1579@llin: dpavlin | 2007-11-10 11:59:27 +0100
[webpac2] / t / 3-normalize-marc.t
diff --git a/t/3-normalize-marc.t b/t/3-normalize-marc.t
new file mode 100755 (executable)
index 0000000..4d720ab
--- /dev/null
@@ -0,0 +1,80 @@
+#!/usr/bin/perl -w
+
+use strict;
+use blib;
+
+use Test::More tests => 4;
+
+BEGIN {
+       use_ok( 'WebPAC::Test' );
+       use_ok( 'WebPAC::Normalize' );
+       use_ok( 'WebPAC::Normalize::MARC' );
+}
+
+my $rec = {
+       '225' => [{
+               'a' => 'a-1-1',
+               'i' => 'i-1-1',
+               'v' => 'v-1-1',
+               'w' => 'w-1-1',
+               'h' => 'h-1-1',
+               'x' => 'x-1-1',
+       },{
+               'a' => 'a-2-1',
+               'v' => 'v-2-1',
+               'i' => 'i-2-1',
+       },{
+               'a' => 'a-3-1',
+               'i' => 'i-3-1',
+               'v' => 'v-3-1',
+       },{
+               'a' => 'a-4-1',
+               'v' => 'v-4-1',
+               'i' => 'i-4-1',
+               'w' => 'w-4-1',
+       },{
+               'a' => 'a-4-1',
+               'v' => 'v-4-1',
+               'i' => 'i-4-1',
+       },{
+               'a' => 'a-4-1',
+               'i' => 'i-4-1',
+               'w' => 'w-4-1',
+       }],
+};
+
+ok( _set_ds( $rec ), '_set_ds' );
+
+ok( marc_template(
+       from => 225, to => 440,
+       subfields_rename => [
+               'a' => 'a',
+               'x' => 'x',
+               'v' => 'v',
+               'h' => 'n',
+               'i' => 'p',
+               'w' => 'v',
+       ],
+       isis_template => [
+               'a ; |v. |i',
+               'a. |i ; |w',
+       ],
+       marc_template => [
+               'a',
+               'a, |x ; |v. |n, |p ; |v',
+               'a ; |v. |p ; |v',
+       ],
+), 'marc_template' );
+
+ok(my $marc = WebPAC::Normalize::_get_marc_fields(), "_get_marc_fields");
+diag dump( $marc ) if $debug;
+
+is_deeply( $marc,
+       [
+               [440, " ", " ", "a", "a-1-1", "x", "x-1-1", "v", "v-1-1", "n", "h-1-1", "p", "i-1-1", "v", "w-1-1", ],
+               [440, " ", " ", "a", "a-2-1", "p", "i-2-1", "v", "v-2-1"],
+               [440, " ", " ", "a", "a-3-1", "p", "i-3-1", "v", "v-3-1"],
+               [440, " ", " ", "a", "a-4-1", "v", "v-4-1", "p", "i-4-1", "v", "w-4-1"],
+               [440, " ", " ", "a", "a-5-1"],
+       ],
+'is_deeply');