def test_init(self): naam = Name( prepositie=None, voornaam=None, intrapositie='van het', geslachtsnaam='Reve', postpositie=None, volledige_naam='Gerard van het Reve', ) self.assertEqual(naam.volledige_naam(), 'Gerard van het Reve') self.assertEqual(naam.geslachtsnaam(), 'Reve') naam = Name( prepositie='dhr.', voornaam='Gerard', intrapositie='van het', geslachtsnaam='Reve', postpositie='schrijver', volledige_naam='dhr. Gerard van het Reve, schrijver', ) self.assertEqual(naam.prepositie(), 'dhr.') self.assertEqual(naam.voornaam(), 'Gerard') self.assertEqual(naam.intrapositie(), 'van het') self.assertEqual(naam.geslachtsnaam(), 'Reve') self.assertEqual(naam.postpositie(), 'schrijver') self.assertEqual(naam.geslachtsnaam(), 'Reve')
def test_sort_key(self): s = '<persName>Jelle <name type="geslachtsnaam">Gerbrandy</name></persName>' n = Name().from_string(s) self.assertEqual(n.sort_key()[:15], 'gerbrandy jelle') s = '<persName>Jelle <name type="geslachtsnaam">Éerbrandy</name></persName>' n = Name().from_string(s) self.assertEqual(n.sort_key()[:15], 'eerbrandy jelle') n = Name('São Paolo') self.assertEqual(n.geslachtsnaam(), 'Paolo') # Automatically guessed self.assertEqual(n.sort_key().split()[0], 'paolo') n = Name('(Hans) Christian') self.assertEqual(n.sort_key().split()[0], 'christian') n = Name('Løwencron') self.assertEqual(n.sort_key().split()[0], 'loewencron') n = Name('?, Pietje') self.assertTrue(n.sort_key() > 'a', n.sort_key()) n = Name("L'Hermite") self.assertTrue(n.sort_key().startswith('herm')) n = Name("La Hermite") self.assertTrue(n.sort_key().startswith('herm')), n.sort_key() n = Name('Löwel') self.assertTrue(n.sort_key().startswith('lo')), n.sort_key() n = Name( "1'Aubepine, Charles de") #this name starts with the numeral "1" self.assertTrue(n.sort_key().startswith('au')), n.sort_key() n = Name('Géo d\'Aconit') self.assertTrue(n.sort_key().startswith('aco')) s = '<persName>Samuel <name type="geslachtsnaam">Beckett</name></persName>' n1 = Name().from_string(s) s = '<persName>Beckett, Samuel</persName>' n2 = Name().from_string(s) self.assertEqual(n1.sort_key(), n2.sort_key())
def test_sort_key(self): s ='<persName>Jelle <name type="geslachtsnaam">Gerbrandy</name></persName>' n = Name().from_string(s) self.assertEqual(n.sort_key()[:15], 'gerbrandy jelle') s ='<persName>Jelle <name type="geslachtsnaam">Éerbrandy</name></persName>' n = Name().from_string(s) self.assertEqual(n.sort_key()[:15], 'eerbrandy jelle') n = Name(u'São Paolo') self.assertEqual(n.geslachtsnaam(), 'Paolo') # Automatically guessed self.assertEqual(n.sort_key().split()[0], 'paolo') n = Name('(Hans) Christian') self.assertEqual(n.sort_key().split()[0], 'christian') n =Name(u'Løwencron') self.assertEqual(n.sort_key().split()[0], 'loewencron') n = Name(u'?, Pietje') self.assertTrue(n.sort_key() > 'a', n.sort_key()) n = Name("L'Hermite") self.assertTrue(n.sort_key().startswith('herm')) n = Name("La Hermite") self.assertTrue(n.sort_key().startswith('herm')), n.sort_key() n = Name(u'Löwel') self.assertTrue(n.sort_key().startswith('lo')), n.sort_key() n = Name("1'Aubepine, Charles de") #this name starts with the numeral "1" self.assertTrue(n.sort_key().startswith('au')), n.sort_key() n = Name(u'Géo d\'Aconit') self.assertTrue(n.sort_key().startswith('aco')) s ='<persName>Samuel <name type="geslachtsnaam">Beckett</name></persName>' n1 = Name().from_string(s) s ='<persName>Beckett, Samuel</persName>' n2 = Name().from_string(s) self.assertEqual(n1.sort_key(), n2.sort_key())
def test_normal_form(self): s ='<persName>Jelle <name type="geslachtsnaam">Gerbrandy</name></persName>' naam = Name().from_string(s) self.assertEqual(naam.geslachtsnaam(), u'Gerbrandy') self.assertEqual(naam.guess_normal_form(), u'Gerbrandy, Jelle') self.assertEqual(naam.guess_normal_form2(), u'Jelle Gerbrandy') naam = Name('Jelle Gerbrandy') self.assertEqual(naam.guess_normal_form(), u'Gerbrandy, Jelle') naam.guess_geslachtsnaam() self.assertEqual(naam.guess_normal_form2(), u'Jelle Gerbrandy') naam = Name('Gerbrandy, Jelle') self.assertEqual(naam.guess_normal_form(), u'Gerbrandy, Jelle') self.assertEqual(naam.guess_normal_form2(), u'Jelle Gerbrandy') naam = Name(voornaam='Hendrik IV') self.assertEqual(naam.geslachtsnaam(), '') self.assertEqual(naam.guess_normal_form(), u'Hendrik IV') self.assertEqual(naam.guess_normal_form2(), u'Hendrik IV') n = Name().from_string("""<persName> <name type="voornaam">Hendrik IV</name> </persName>""") n.guess_geslachtsnaam() assert not n.geslachtsnaam(), n.to_string() self.assertEqual(n.guess_normal_form(), 'Hendrik IV') self.assertEqual(naam.guess_normal_form2(), u'Hendrik IV') s = """<persName> <name type="geslachtsnaam">Xerxes</name> </persName>""" n = Name().from_string(s) self.assertEqual(n.guess_normal_form(), 'Xerxes') s = '<persName><name type="geslachtsnaam">A</name>, Arien</persName>' n = Name().from_string(s) self.assertEqual(n.guess_normal_form(), 'A, Arien') self.assertEqual(n.guess_normal_form2(), 'Arien A') n = Name('A.B.J.Teulings') self.assertEqual(n.guess_normal_form(), 'Teulings, A.B.J.') self.assertEqual(n.guess_normal_form2(), 'A.B.J.Teulings') naam = Name('JOHAN (Johann) VII') self.assertEqual(naam.guess_normal_form(), 'Johan VII') naam = Name().from_string('<persName><name type="geslachtsnaam">Dirk</name>, VI, Theodericus</persName>') self.assertEqual(naam.guess_normal_form(), 'Dirk, VI, Theodericus') naam = Name('Lodewijk XVIII') self.assertEqual(naam.guess_normal_form2(), 'Lodewijk XVIII') s = """<persName> <name type="voornaam">Trijn</name> <name type="intrapositie">van</name> <name type="geslachtsnaam">Leemput</name></persName>""" naam = Name().from_string(s) self.assertEqual(naam.guess_normal_form(), 'Leemput, Trijn van') self.assertEqual(naam.guess_normal_form2(), 'Trijn van Leemput') n5 = Name('Piet Gerbrandy', geslachtsnaam='Gerbrandy') self.assertEqual(n5.guess_normal_form(), 'Gerbrandy, Piet') self.assertEqual(n5.guess_normal_form2(), 'Piet Gerbrandy') # n6 = Name('Piet Gerbrandy', geslachtsnaam='Piet') # n6._tokenize() # self.assertEqual(n6.guess_normal_form(), 'Piet Gerbrandy') # self.assertEqual(n6.guess_normal_form2(), 'Gerbrandy Piet') n = Name('Hermansz') self.assertEqual(n.guess_normal_form(), 'Hermansz') self.assertEqual(n.geslachtsnaam(), 'Hermansz') n = Name('Ada, van Holland (1)') self.assertEqual(n.guess_normal_form(), 'Ada, van Holland') n = Name('Hees - B.P. van') self.assertEqual(n.guess_normal_form(), 'Hees - B.P. van') n = Name('Hees - B.P. van (1234-1235)') self.assertEqual(n.guess_normal_form(), 'Hees - B.P. van') n = Name('Hoeven, Abraham des Amorie van der (1)') self.assertEqual(n.guess_normal_form(), 'Hoeven, Abraham des Amorie van der') self.assertEqual(n.guess_normal_form2(), 'Abraham des Amorie van der Hoeven') n = Name('Schepper, Gerhard Antoni IJssel de') self.assertEqual(n.guess_normal_form(), 'Schepper, Gerhard Antoni IJssel de')
def test_from_xml(self): s ='<persName>Jelle <name type="geslachtsnaam">Gerbrandy</name></persName>' n = Name().from_string(s) # assert 0, etree.fromstring(s).xpath('//name[@type="geslachtsnaam"]') self.assertEqual(n.geslachtsnaam(), 'Gerbrandy') self.assertEqual(n.to_string(), s)
def test_normal_form(self): s = '<persName>Jelle <name type="geslachtsnaam">Gerbrandy</name></persName>' naam = Name().from_string(s) self.assertEqual(naam.geslachtsnaam(), 'Gerbrandy') self.assertEqual(naam.guess_normal_form(), 'Gerbrandy, Jelle') self.assertEqual(naam.guess_normal_form2(), 'Jelle Gerbrandy') naam = Name('Jelle Gerbrandy') self.assertEqual(naam.guess_normal_form(), 'Gerbrandy, Jelle') naam.guess_geslachtsnaam() self.assertEqual(naam.guess_normal_form2(), 'Jelle Gerbrandy') naam = Name('Gerbrandy, Jelle') self.assertEqual(naam.guess_normal_form(), 'Gerbrandy, Jelle') self.assertEqual(naam.guess_normal_form2(), 'Jelle Gerbrandy') naam = Name(voornaam='Hendrik IV') self.assertEqual(naam.geslachtsnaam(), '') self.assertEqual(naam.guess_normal_form(), 'Hendrik IV') self.assertEqual(naam.guess_normal_form2(), 'Hendrik IV') n = Name().from_string("""<persName> <name type="voornaam">Hendrik IV</name> </persName>""") n.guess_geslachtsnaam() assert not n.geslachtsnaam(), n.to_string() self.assertEqual(n.guess_normal_form(), 'Hendrik IV') self.assertEqual(naam.guess_normal_form2(), 'Hendrik IV') s = """<persName> <name type="geslachtsnaam">Xerxes</name> </persName>""" n = Name().from_string(s) self.assertEqual(n.guess_normal_form(), 'Xerxes') s = '<persName><name type="geslachtsnaam">A</name>, Arien</persName>' n = Name().from_string(s) self.assertEqual(n.guess_normal_form(), 'A, Arien') self.assertEqual(n.guess_normal_form2(), 'Arien A') n = Name('A.B.J.Teulings') self.assertEqual(n.guess_normal_form(), 'Teulings, A.B.J.') self.assertEqual(n.guess_normal_form2(), 'A.B.J.Teulings') naam = Name('JOHAN (Johann) VII') self.assertEqual(naam.guess_normal_form(), 'Johan VII') naam = Name().from_string( '<persName><name type="geslachtsnaam">Dirk</name>, VI, Theodericus</persName>' ) self.assertEqual(naam.guess_normal_form(), 'Dirk, VI, Theodericus') naam = Name('Lodewijk XVIII') self.assertEqual(naam.guess_normal_form2(), 'Lodewijk XVIII') s = """<persName> <name type="voornaam">Trijn</name> <name type="intrapositie">van</name> <name type="geslachtsnaam">Leemput</name></persName>""" naam = Name().from_string(s) self.assertEqual(naam.guess_normal_form(), 'Leemput, Trijn van') self.assertEqual(naam.guess_normal_form2(), 'Trijn van Leemput') n5 = Name('Piet Gerbrandy', geslachtsnaam='Gerbrandy') self.assertEqual(n5.guess_normal_form(), 'Gerbrandy, Piet') self.assertEqual(n5.guess_normal_form2(), 'Piet Gerbrandy') # n6 = Name('Piet Gerbrandy', geslachtsnaam='Piet') # n6._tokenize() # self.assertEqual(n6.guess_normal_form(), 'Piet Gerbrandy') # self.assertEqual(n6.guess_normal_form2(), 'Gerbrandy Piet') n = Name('Hermansz') self.assertEqual(n.guess_normal_form(), 'Hermansz') self.assertEqual(n.geslachtsnaam(), 'Hermansz') n = Name('Ada, van Holland (1)') self.assertEqual(n.guess_normal_form(), 'Ada, van Holland') n = Name('Hees - B.P. van') self.assertEqual(n.guess_normal_form(), 'Hees - B.P. van') n = Name('Hees - B.P. van (1234-1235)') self.assertEqual(n.guess_normal_form(), 'Hees - B.P. van') n = Name('Hoeven, Abraham des Amorie van der (1)') self.assertEqual(n.guess_normal_form(), 'Hoeven, Abraham des Amorie van der') self.assertEqual(n.guess_normal_form2(), 'Abraham des Amorie van der Hoeven') n = Name('Schepper, Gerhard Antoni IJssel de') self.assertEqual(n.guess_normal_form(), 'Schepper, Gerhard Antoni IJssel de')
def test_from_xml(self): s = '<persName>Jelle <name type="geslachtsnaam">Gerbrandy</name></persName>' n = Name().from_string(s) # assert 0, etree.fromstring(s).xpath('//name[@type="geslachtsnaam"]') self.assertEqual(n.geslachtsnaam(), 'Gerbrandy') self.assertEqual(n.to_string(), s)