def test_parse_name4(): # 'von Last, First' format: author = u.parse_name('jean de la fontaine,') assert author.last == 'fontaine' assert author.first == '' assert author.von == 'jean de la' assert author.jr == '' author = u.parse_name('de la fontaine, Jean') assert author.last == 'fontaine' assert author.first == 'Jean' assert author.von == 'de la' assert author.jr == '' author = u.parse_name('De La fontaine, Jean') assert author.last == 'De La fontaine' assert author.first == 'Jean' assert author.von == '' assert author.jr == '' author = u.parse_name('De la Fontaine, Jean') assert author.last == 'Fontaine' assert author.first == 'Jean' assert author.von == 'De la' assert author.jr == '' author = u.parse_name('de La Fontaine, Jean') assert author.last == 'La Fontaine' assert author.first == 'Jean' assert author.von == 'de' assert author.jr == ''
def test_parse_name3(): # 'Last, First' format: author = u.parse_name('Jones,') assert author.last == 'Jones' assert author.first == '' assert author.von == '' assert author.jr == '' author = u.parse_name('AAS Team,') assert author.last == 'AAS Team' assert author.first == '' assert author.von == '' assert author.jr == '' # Blank field does not count: author = u.parse_name('AAS Team, ') assert author.last == 'AAS Team' assert author.first == '' assert author.von == '' assert author.jr == '' author = u.parse_name('{AAS Team},') assert author.last == '{AAS Team}' assert author.first == '' assert author.von == '' assert author.jr == '' author = u.parse_name('Jones, Eric') assert author.last == 'Jones' assert author.first == 'Eric' assert author.von == '' assert author.jr == ''
def test_repr_author3(): assert u.repr_author(u.parse_name("van der Waals, Johannes D.")) \ == 'van der Waals, Johannes D.' assert u.repr_author(u.parse_name(" van der Waals , Johannes D. ")) \ == 'van der Waals, Johannes D.' assert u.repr_author( u.parse_name(" van der {Waals} , {Johannes D.}")) \ == 'van der {Waals}, {Johannes D.}'
def test_repr_author2(): # Strip outer blanks, collapse inner blanks (even protected): assert u.repr_author(u.parse_name("Johannes D. van der Waals")) \ == 'van der Waals, Johannes D.' assert u.repr_author(u.parse_name("Johannes D. van der Waals")) \ == 'van der Waals, Johannes D.' assert u.repr_author(u.parse_name(" Johannes D. van der Waals ")) \ == 'van der Waals, Johannes D.' assert u.repr_author(u.parse_name(" {Johannes D.} van der {Waals} ")) \ == 'van der {Waals}, {Johannes D.}' assert u.repr_author(u.parse_name("{Johannes D.} van der Waals")) \ == 'van der Waals, {Johannes D.}'
def test_parse_name2(): # 'First von Last' format: author = u.parse_name("Jean de la Fontaine") assert author.last == 'Fontaine' assert author.first == 'Jean' assert author.von == 'de la' assert author.jr == '' author = u.parse_name("Jean de la fontaine") assert author.last == 'fontaine' assert author.first == 'Jean' assert author.von == 'de la' assert author.jr == '' author = u.parse_name("Jean de La Fontaine") assert author.last == 'La Fontaine' assert author.first == 'Jean' assert author.von == 'de' assert author.jr == '' author = u.parse_name("Jean De la Fontaine") assert author.last == 'Fontaine' assert author.first == 'Jean De' assert author.von == 'la' assert author.jr == '' author = u.parse_name("Jean De La Fontaine") assert author.last == 'Fontaine' assert author.first == 'Jean De La' assert author.von == '' assert author.jr == '' author = u.parse_name("jean de la Fontaine") assert author.last == 'Fontaine' assert author.first == '' assert author.von == 'jean de la' assert author.jr == '' author = u.parse_name("jean de la fontaine") assert author.last == 'fontaine' assert author.first == '' assert author.von == 'jean de la' assert author.jr == '' author = u.parse_name("Jean {de} la fontaine") assert author.last == 'fontaine' assert author.first == 'Jean {de}' assert author.von == 'la' assert author.jr == '' author = u.parse_name("jean {de} {la} fontaine") assert author.last == '{de} {la} fontaine' assert author.first == '' assert author.von == 'jean' assert author.jr == '' author = u.parse_name("Jean {de} {la} fontaine") assert author.last == 'fontaine' assert author.first == 'Jean {de} {la}' assert author.von == '' assert author.jr == ''
def test_parse_name1(): # 'First Last' format: author = u.parse_name('Jones') assert author.last == 'Jones' assert author.first == '' assert author.von == '' assert author.jr == '' author = u.parse_name('jones') assert author.last == 'jones' assert author.first == '' assert author.von == '' assert author.jr == '' author = u.parse_name('Eric Jones') assert author.last == 'Jones' assert author.first == 'Eric' assert author.von == '' assert author.jr == '' author = u.parse_name('Eric Steve Jones') assert author.last == 'Jones' assert author.first == 'Eric Steve' assert author.von == '' assert author.jr == '' author = u.parse_name('{Jones Schmidt}') assert author.last == '{Jones Schmidt}' assert author.first == '' assert author.von == '' assert author.jr == '' author = u.parse_name('Eric Steve {Jones Schmidt}') assert author.last == '{Jones Schmidt}' assert author.first == 'Eric Steve' assert author.von == '' assert author.jr == ''
def test_parse_name5(): # von Last, Jr, First author = u.parse_name('de la Fontaine, sr., Jean') assert author.last == 'Fontaine' assert author.first == 'Jean' assert author.von == 'de la' assert author.jr == 'sr.' author = u.parse_name('Fontaine, sr., Jean') assert author.last == 'Fontaine' assert author.first == 'Jean' assert author.von == '' assert author.jr == 'sr.' author = u.parse_name('Fontaine, sr.,') assert author.last == 'Fontaine' assert author.first == '' assert author.von == '' assert author.jr == 'sr.' author = u.parse_name('Fontaine,, Jean') assert author.last == 'Fontaine' assert author.first == 'Jean' assert author.von == '' assert author.jr == ''
def get_authors(): author_lists = [[u.parse_name('{Hunter}, J. D.')], [ u.parse_name('{AAS Journals Team}'), u.parse_name('{Hendrickson}, A.') ], [ u.parse_name('Eric Jones'), u.parse_name('Travis Oliphant'), u.parse_name('Pearu Peterson') ]] # Short format: assert u.get_authors(author_lists[0]) == '{Hunter}, J. D.' assert u.get_authors(author_lists[1]) \ == '{AAS Journals Team} and {Hendrickson}, A.' assert u.get_authors(author_lists[2]) == 'Jones, Eric; et al.' # Long format: assert u.get_authors(author_lists[0], short=False) \ == '{Hunter}, J. D.' assert u.get_authors(author_lists[1], short=False) \ == '{AAS Journals Team} and {Hendrickson}, A.' assert u.get_authors(author_lists[2], short=False) \ == 'Jones, Eric; Oliphant, Travis; and Peterson, Pearu'
def test_get_authors_ushort_non_ascii(): authors = [u.parse_name(r'{Huang (黄新川)}, Xinchuan')] assert u.get_authors(authors, 'ushort') == 'Huang (黄新川)'
def test_get_authors_ushort_dash(): authors = [u.parse_name(r'{Ben-Jaffel}, Lotfi')] assert u.get_authors(authors, 'ushort') == 'Ben-Jaffel'
def test_get_authors_ushort_spaces(): authors = [u.parse_name('{Collier Cameron}, J. D.')] assert u.get_authors(authors, 'ushort') == 'Collier Cameron'
def test_repr_author1(): assert u.repr_author(u.parse_name("Jones")) == "Jones" assert u.repr_author(u.parse_name("Jones,")) == "Jones" assert u.repr_author(u.parse_name("Eric Jones")) == "Jones, Eric" assert u.repr_author(u.parse_name("Eric B. Jones")) == 'Jones, Eric B.'
assert u.purify('Schr{\\"o}dinger', german=True) == 'schroedinger' def test_initials(): assert u.initials('') == '' assert u.initials('D.') == 'd' assert u.initials('D. W.') == 'dw' assert u.initials('{\\"O}. H.') == 'oh' assert u.initials('J. Y.-K.') == 'jyk' assert u.initials('Phil') == 'p' assert u.initials('Phill Henry Scott') == 'phs' # An error by the user (missing blank in between): assert u.initials('G.O.') == 'g' author_lists = [[u.parse_name('{Hunter}, J. D.')], [ u.parse_name('{AAS Journals Team}'), u.parse_name('{Hendrickson}, A.') ], [ u.parse_name('Eric Jones'), u.parse_name('Travis Oliphant'), u.parse_name('Pearu Peterson') ]] @pytest.mark.parametrize('author_format', ('short', 'long')) def test_get_authors_single(author_format): assert u.get_authors(author_lists[0], author_format) == '{Hunter}, J. D.'