def test_rero_authorized_access_point_representing_a_person(): """Test Authorized access point representing a person 100 $adc""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="a">Brontë, Charlotte,</subfield> <subfield code="d">1816-1855</subfield> <subfield code="c">écrivain</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_authorized_access_point_representing_a_person() assert trans.json == { 'authorized_access_point_representing_a_person': 'Brontë, Charlotte, 1816-1855, écrivain' } xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="a">Paul</subfield> <subfield code="b">VI</subfield> <subfield code="c">pape</subfield> <subfield code="d">1897-1978</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_authorized_access_point_representing_a_person() assert trans.json == { 'authorized_access_point_representing_a_person': 'Paul, VI, pape, 1897-1978' }
def test_bnf_birth_and_death_dates_in_two_fields(): """Test date of birth 103 $a pos. 1-8 YYYYMMDD AND 200 $f pos. 1-4""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="103"> <subfield code="a"> 18160421 18550331 </subfield> </datafield> <datafield ind1=" " ind2=" " tag="200"> <subfield code="f">1816-1855</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == { 'date_of_birth': '1816-04-21', 'date_of_death': '1855-03-31' } xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="103"> <subfield code="a"> 1525 ? 16010723 </subfield> </datafield> <datafield ind1=" " ind2=" " tag="200"> <subfield code="f">1525?-1601</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == { 'date_of_birth': '1525?', 'date_of_death': '1601-07-23' }
def test_bnf_birth_and_death_from_field_103(): """Test date of birth 103 $a pos. 1-8 YYYYMMDD""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="103"> <subfield code="a"> 18160421 18550331 </subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == { 'date_of_birth': '1816-04-21', 'date_of_death': '1855-03-31' } # format: "XXXXXXXX XXXX ?" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="103"> <subfield code="a"> 18160421 1855 ?</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == { 'date_of_birth': '1816-04-21', 'date_of_death': '1855?' } # format: "XXX. XXXX ?" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="103"> <subfield code="a"> 181. 1855 ?</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == {'date_of_birth': '181.', 'date_of_death': '1855?'} # format: "XX.. XXX.XXXX " xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="103"> <subfield code="a"> 18.. 185.0625 </subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == { 'date_of_birth': '18..', 'date_of_death': '185.-06-25' } # format: "XX.. XXX.XXXX XX" with bad suffix xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="103"> <subfield code="a"> 18.. 185.0625 12</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == {}
def test_gnd_authorized_access_point_representing_a_person_missing(): """Test Authorized access point representing a person 100 $abcd missing """ xml_part_to_add = "" trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_authorized_access_point_representing_a_person() assert trans.json == {}
def test_rero_identifier_for_person(): """Test identifier for person 001""" xml_part_to_add = """ <controlfield tag="001">vtls020260472</controlfield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_identifier_for_person() assert trans.json == {"identifier_for_person": "020260472"}
def test_gnd_identifier_for_person(): """Test identifier for person 001""" xml_part_to_add = """ <controlfield tag="001">118577166</controlfield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_identifier_for_person() assert trans.json == {"identifier_for_person": "118577166"}
def test_bnf_birth_and_death_dates_year_birth(): """Test date of birth 103 $a pos. 1-8 YYYYMMDD""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="103"> <subfield code="a"> 1816 </subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == {'date_of_birth': '1816'}
def test_bnf_identifier_for_person(): """Test identifier for person 001""" xml_part_to_add = """ <controlfield tag="001">FRBNF170842162</controlfield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_identifier_for_person() assert trans.json == { "identifier_for_person": "17084216" }
def test_gnd_gender_male(): """Test gender 375 $a 1 = male, 2 = female, " " = not known.""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="375"> <subfield code="a">1</subfield> </datafield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_gender() assert trans.json == {'gender': 'male'}
def test_rero_birth_and_death_dates(): """Test date of birth 100 $d pos. 1-4 YYYY""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="d">1816 1855</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_birth_and_death_dates() assert trans.json == {"date_of_birth": "1816", "date_of_death": "1855"}
def test_gnd_birth_and_death_dates_year_birth(): """Test date of birth 100 $d YYYY-""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="d">1816-</subfield> </datafield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_birth_and_death_dates() assert trans.json == {"date_of_birth": "1816"}
def test_rero_preferred_name_for_person(): """Test Preferred Name for Person 100 $a""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="a">Brontë, Charlotte</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_preferred_name_for_person() assert trans.json == {"preferred_name_for_person": "Brontë, Charlotte"}
def test_bnf_gender_male(): """Test gender 120 $a a = female, b = male, - = not known.""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="120"> <subfield code="a">b</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_gender() assert trans.json == {'gender': 'male'}
def test_gnd_birth_and_death_dates_year_death(): """Test date of birth 100 $d -YYYY""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="d">-1855</subfield> </datafield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_birth_and_death_dates() assert trans.json == {'date_of_death': '1855'}
def test_gnd_language_of_person(): """Test language of person 377 $a (language 3 characters) ISO 639-2b""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="377"> <subfield code="a">fre</subfield> <subfield code="a">eng</subfield> </datafield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_language_of_person() assert trans.json == {'language_of_person': ['fre', 'eng']}
def test_bnf_preferred_name_for_person_1(): """Test Preferred Name for Person 200 $ab""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="200"> <subfield code="a">Brontë</subfield> <subfield code="b">Charlotte</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_preferred_name_for_person() assert trans.json == {'preferred_name_for_person': 'Brontë, Charlotte'}
def test_rero_birth_and_death_dates(): """Test date of birth 100 $d""" xml_part_to_add = "" trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_birth_and_death_dates() assert trans.json == {} xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="d">1816-1855</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_birth_and_death_dates() assert trans.json == {'date_of_birth': '1816', 'date_of_death': '1855'} xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="d">1816-</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_birth_and_death_dates() assert trans.json == {'date_of_birth': '1816'} xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="d">?-1855</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_birth_and_death_dates() assert trans.json == {'date_of_birth': '?', 'date_of_death': '1855'} xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="d">ca. 1800-1855</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_birth_and_death_dates() assert trans.json == {'date_of_birth': 'ca. 1800', 'date_of_death': '1855'}
def test_rero_biographical_information(): """Test biographical information 680 $a""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="680"> <subfield code="a">Romancière. - Charlotte Brontë.</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_biographical_information() assert trans.json == { "biographical_information": ["Romancière. - Charlotte Brontë."] }
def test_gnd_preferred_name_for_person(): """Test Preferred Name for Person 100 $a""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="a">Bauer, Johann Gottfried</subfield> </datafield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_preferred_name_for_person() assert trans.json == { 'preferred_name_for_person': 'Bauer, Johann Gottfried' }
def test_bnf_identifier_for_person(): """Test identifier for person""" xml_part_to_add = """ <controlfield tag="003">http://catalogue.bnf.fr/ark:/12148/cb13615969g</controlfield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_identifier_for_person() assert trans.json == { 'identifier_for_person': 'http://catalogue.bnf.fr/ark:/12148/cb13615969g', 'pid': '13615969' }
def test_bnf_birth_and_death_dates_birth_death(): """Test date of birth 103 $a pos. 1-8 YYYYMMDD""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="103"> <subfield code="a">18160421 18550331</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == { "date_of_birth": "1816-04-21", "date_of_death": "1855-03-31" }
def test_bnf_birth_and_death_dates_year_birth_date(): """Test date of birth 200 $f pos. 1-4""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="200"> <subfield code="f">1816-1855</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_birth_and_death_dates() assert trans.json == { "date_of_birth": "1816", "date_of_death": "1855" }
def test_rero_identifier_for_person(): """Test identifier for person 035""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="035"> <subfield code="a">A000070488</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_identifier_for_person() assert trans.json == { 'pid': 'A000070488', 'identifier_for_person': 'http://data.rero.ch/02-A000070488' }
def test_rero_authorized_access_point_representing_a_person(): """Test Authorized access point representing a person 100 $adc""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="100"> <subfield code="a">Brontë, Charlotte</subfield> <subfield code="d">1816-1855</subfield> <subfield code="c">écrivain</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_authorized_access_point_representing_a_person() assert trans.json == { "authorized_access_point_representing_a_person": "Brontë, Charlotte, 1816-1855, écrivain" }
def test_rero_variant_name_for_person(): """Test Variant Name for Person 400 $a""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="400"> <subfield code="a">Bell, Currer</subfield> </datafield> <datafield ind1=" " ind2=" " tag="400"> <subfield code="a">Brontë, Carlotta</subfield> </datafield> """ trans = trans_prep('rero', xml_part_to_add) trans.trans_rero_variant_name_for_person() assert trans.json == { "variant_name_for_person": ["Bell, Currer", "Brontë, Carlotta"] }
def test_gnd_birth_and_death_dates_birth(): """Test date of birth 548 $a DD.MM.YYYY- $4 datx""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="548"> <subfield code="a">06.06.1875-</subfield> <subfield code="4">datx</subfield> </datafield> <datafield ind1=" " ind2=" " tag="548"> <subfield code="a">1875-</subfield> <subfield code="4">datl</subfield> </datafield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_birth_and_death_dates() assert trans.json == {"date_of_birth": "06.06.1875"}
def test_gnd_identifier_for_person(): """Test identifier for person 001""" xml_part_to_add = """ <controlfield tag="001">118577166</controlfield> <datafield ind1=" " ind2=" " tag="024"> <subfield code="a">http://d-nb.info/gnd/100000193</subfield> <subfield code="2">uri</subfield> </datafield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_identifier_for_person() assert trans.json == { 'identifier_for_person': 'http://d-nb.info/gnd/100000193', 'pid': '118577166' }
def test_gnd_birth_and_death_dates_death(): """Test date of birth 548 $a -DD.MM.YYYY $4 datx""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="548"> <subfield code="a">-12.08.1955</subfield> <subfield code="4">datx</subfield> </datafield> <datafield ind1=" " ind2=" " tag="548"> <subfield code="a">-1955</subfield> <subfield code="4">datl</subfield> </datafield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_birth_and_death_dates() assert trans.json == {'date_of_death': '12.08.1955'}
def test_bnf_language_of_person(): """Test language of person 101 $a (language 3 characters) ISO 639-2""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="101"> <subfield code="a">fre</subfield> <subfield code="a">eng</subfield> </datafield> """ trans = trans_prep('bnf', xml_part_to_add) trans.trans_bnf_language_of_person() assert trans.json == { "language_of_person": [ "fre", "eng" ] }
def test_gnd_variant_name_for_person(): """Test Variant Name for Person 400 $a""" xml_part_to_add = """ <datafield ind1=" " ind2=" " tag="400"> <subfield code="a">Barbanson, Konstantin \u0098von\u009c</subfield> </datafield> <datafield ind1=" " ind2=" " tag="400"> <subfield code="a">Barbanc\u0327on, Konstantyn</subfield> </datafield> """ trans = trans_prep('gnd', xml_part_to_add) trans.trans_gnd_variant_name_for_person() assert trans.json == { 'variant_name_for_person': ['Barbanson, Konstantin von', 'Barbanc\u0327on, Konstantyn'] }