X-Git-Url: http://git.equinoxoli.org/?p=migration-tools.git;a=blobdiff_plain;f=Equinox-Migration%2Ft%2F03-MapDrivenMARCXMLProc.t;h=5e1f21d11f2ddf564c11e054602cbf818b68b667;hp=c3e3ba00a7ea588f52f868d81fab7239abf45306;hb=df7e60bd03f18a58a67c8d46f15d91fa98a7e5de;hpb=a09dbe656fda90a77c36fd3093f99e7f26f4f480 diff --git a/Equinox-Migration/t/03-MapDrivenMARCXMLProc.t b/Equinox-Migration/t/03-MapDrivenMARCXMLProc.t index c3e3ba0..5e1f21d 100644 --- a/Equinox-Migration/t/03-MapDrivenMARCXMLProc.t +++ b/Equinox-Migration/t/03-MapDrivenMARCXMLProc.t @@ -22,7 +22,31 @@ my $mp = Equinox::Migration::MapDrivenMARCXMLProc->new( marcfile => 't/corpus/md mapfile => 't/corpus/mdmpmap-00.txt', ); is(ref $mp, "Equinox::Migration::MapDrivenMARCXMLProc", "self is self"); - # parsing +# +# with map-00, only the 999$a should be captured +# 903$a will *always* be captured, of course my $rec = $mp->parse_record; is (defined $rec, 1); +is ($rec->{egid}, 9000000, '903 captured'); +is ($rec->{tags}[0]{tag}, 999, 'first (only) tag should be 999'); +is ($rec->{tags}[0]{uni}{a}, "MYS DEM", 'single-ocurrance subfield "a" should be "MYS DEM"'); +is ($rec->{tags}[0]{uni}{b}, undef, 'only one uni subfield defined'); +is ($rec->{tags}[0]{multi}, undef, 'no multi subfields were defined'); +is ($rec->{tags}[1], undef, 'Only one tag in map'); +is ($rec->{bib}, undef, 'No bib-level fields in map'); +# let's go ahead and look at the rest of the file +$rec = $mp->parse_record; +is ($rec->{egid}, 9000001, '903 #2'); +is ($rec->{tags}[0]{tag}, 999, 'tag id 2'); +is ($rec->{tags}[0]{uni}{a}, "MYS 2", 'subfield value 2'); +$rec = $mp->parse_record; +is ($rec->{egid}, 9000002, '903 #3'); +is ($rec->{tags}[0]{tag}, 999, 'tag id 3'); +is ($rec->{tags}[0]{uni}{a}, "FOO BAR", 'subfield value 3'); +$rec = $mp->parse_record; +is ($rec->{egid}, 9000003, '903 #4'); +is ($rec->{tags}[0]{tag}, 999, 'tag id 4'); +is ($rec->{tags}[0]{uni}{a}, "FIC DEV", 'subfield value 4'); +$rec = $mp->parse_record; +is ($rec, 0, 'no more records');