6 use Test::More tests => 325;
9 use_ok( 'WebPAC::Test' );
10 use_ok( 'WebPAC::Normalize' );
11 use_ok( 'WebPAC::Normalize::MARC' );
14 _debug( $debug - 1 ) if $debug > 1;
57 sub test_marc_template {
60 ok( _clean_ds(), '_clean_ds' );
61 ok( _set_ds( $rec ), '_set_ds' );
63 ok( marc_indicators( 440, '0', '1' ), 'marc_indicators' );
66 from => 225, to => 440,
83 'a, |x ; |v. |n, |p ; |v',
89 ok(my $marc = WebPAC::Normalize::MARC::_get_marc_fields(), "_get_marc_fields");
90 diag " _get_marc_fields = ",dump( $marc ) if $debug;
92 ok( marc_indicators( 440, 'x', 'y' ), 'marc_indicators' );
98 [440, "0", "1", "a", "a-1-1, ", "x", "x-1-1 ; ", "v", "v-1-1. ", "n", "h-1-1, ", "p", "i-1-1 ; ", "v", "w-1-1"],
99 [440, "0", "1", "a", "a-2-1 ; ", "v", "v-2-1. ", "p", "i-2-1"],
100 [440, "0", "1", "a", "a-3-1 ; ", "v", "v-3-1. ", "p", "i-3-1"],
101 [440, "0", "1", "a", "a-4-1 ; ", "v", "v-4-1. ", "p", "i-4-1 ; ", "v", "w-4-1"],
102 [440, "0", "1", "a", "a-5-1 ; ", "v", "v-5-1. ", "p", "i-5-1"],
103 [440, "0", "1", "a", "a-6-1. ", "p", "i-6-1 ; ", "v", "w-6-1"],
104 [440, "0", "1", "a", "a-7-1"],
105 [440, "0", "1", "a", "a-8-1 ;", "v", "v-8-1"],
106 [440, "0", "1", "v", "v-9-1"],
110 is_deeply( test_marc_template($rec), $marc_out , 'is_deeply');
112 my $max_occ = $#{ $rec->{225} };
114 foreach my $from ( 0 .. $max_occ - 1 ) {
115 foreach my $to ( $from + 1 .. $max_occ ) {
116 my @orig_rec = @{ $rec->{225} };
118 225 => [ splice( @orig_rec, $from, $to ) ],
120 diag "$from-$to new_rec = ",dump( $new_rec ) if $debug;
122 my @expect = @$marc_out;
123 my $expect_marc = [ splice( @expect, $from, $to ) ];
124 diag "$from-$to expect_marc = ",dump( $expect_marc ) if $debug;
126 is_deeply( test_marc_template($new_rec), $expect_marc, "$from-$to is_deeply");
131 sub test_marc_clone {
134 ok( _clean_ds(), '_clean_ds' );
135 ok( _set_ds( $rec ), '_set_ds' );
137 ok( marc_clone, 'marc_clone' );
139 ok(my $marc = WebPAC::Normalize::MARC::_get_marc_fields(), "_get_marc_fields");
140 diag "rec = ",dump( $rec );
141 diag "marc = ",dump( $marc );
143 is_deeply( $rec, $marc, 'same' );
148 '900' => [{ 'a' => '900a', 'b' => '900b', subfields => [ qw/a 0 b 0/ ] }],
149 '901' => [{ 'c' => '901c', subfields => [ qw/c 0/ ] }],