r1579@llin: dpavlin | 2007-11-10 11:59:27 +0100
[webpac2] / t / 3-normalize-marc.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use blib;
5
6 use Test::More tests => 4;
7
8 BEGIN {
9         use_ok( 'WebPAC::Test' );
10         use_ok( 'WebPAC::Normalize' );
11         use_ok( 'WebPAC::Normalize::MARC' );
12 }
13
14 my $rec = {
15         '225' => [{
16                 'a' => 'a-1-1',
17                 'i' => 'i-1-1',
18                 'v' => 'v-1-1',
19                 'w' => 'w-1-1',
20                 'h' => 'h-1-1',
21                 'x' => 'x-1-1',
22         },{
23                 'a' => 'a-2-1',
24                 'v' => 'v-2-1',
25                 'i' => 'i-2-1',
26         },{
27                 'a' => 'a-3-1',
28                 'i' => 'i-3-1',
29                 'v' => 'v-3-1',
30         },{
31                 'a' => 'a-4-1',
32                 'v' => 'v-4-1',
33                 'i' => 'i-4-1',
34                 'w' => 'w-4-1',
35         },{
36                 'a' => 'a-4-1',
37                 'v' => 'v-4-1',
38                 'i' => 'i-4-1',
39         },{
40                 'a' => 'a-4-1',
41                 'i' => 'i-4-1',
42                 'w' => 'w-4-1',
43         }],
44 };
45
46 ok( _set_ds( $rec ), '_set_ds' );
47
48 ok( marc_template(
49         from => 225, to => 440,
50         subfields_rename => [
51                 'a' => 'a',
52                 'x' => 'x',
53                 'v' => 'v',
54                 'h' => 'n',
55                 'i' => 'p',
56                 'w' => 'v',
57         ],
58         isis_template => [
59                 'a ; |v. |i',
60                 'a. |i ; |w',
61         ],
62         marc_template => [
63                 'a',
64                 'a, |x ; |v. |n, |p ; |v',
65                 'a ; |v. |p ; |v',
66         ],
67 ), 'marc_template' );
68
69 ok(my $marc = WebPAC::Normalize::_get_marc_fields(), "_get_marc_fields");
70 diag dump( $marc ) if $debug;
71
72 is_deeply( $marc,
73         [
74                 [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", ],
75                 [440, " ", " ", "a", "a-2-1", "p", "i-2-1", "v", "v-2-1"],
76                 [440, " ", " ", "a", "a-3-1", "p", "i-3-1", "v", "v-3-1"],
77                 [440, " ", " ", "a", "a-4-1", "v", "v-4-1", "p", "i-4-1", "v", "w-4-1"],
78                 [440, " ", " ", "a", "a-5-1"],
79         ],
80 'is_deeply');