def test_guess_name_no_author_no_year(): bib = bm.Bib('''@ARTICLE{Raftery1995BIC, title = "{Bayesian Model Selection in Social Research}", }''') with pytest.raises(ValueError, match='Could not guess a good filename since entry does not ' 'have author nor year fields'): pm.guess_name(bib)
def test_guess_name_no_bibcode(): bib = bm.Bib('''@ARTICLE{Raftery1995BIC, author = {{Raftery}, A.~E}, title = "{Bayesian Model Selection in Social Research}", year = 1995, }''') assert pm.guess_name(bib) == 'Raftery1995.pdf'
def test_guess_name_bibcode_no_pages(): bib = bm.Bib('''@BOOK{Chase1986jttJANAF, author = {{Chase}, M.~W.}, title = "{JANAF thermochemical tables}", year = "1986", adsurl = {https://ui.adsabs.harvard.edu/abs/1986jtt..book.....C}, }''') assert pm.guess_name(bib) == 'Chase1986_jtt_book.pdf'
def test_guess_name_bibcode_no_volume(): bib = bm.Bib('''@PHDTHESIS{Payne1925phdStellarAtmospheres, author = {{Payne}, Cecilia Helena}, title = "{Stellar Atmospheres; a Contribution to the Observational Study of High Temperature in the Reversing Layers of Stars.}", year = "1925", adsurl = {https://ui.adsabs.harvard.edu/abs/1925PhDT.........1P}, }''') assert pm.guess_name(bib) == 'Payne1925_PhDT_1.pdf'
def test_guess_name_non_ascii(): bib = bm.Bib('''@ARTICLE{HuangEtal2014jqsrtCO2, author = {{Huang (黄新川)}, Xinchuan and {Gamache}, Robert R.}, title = "{Reliable infrared line lists for 13 CO$_{2}$}", year = "2014", adsurl = {https://ui.adsabs.harvard.edu/abs/2014JQSRT.147..134H}, }''') assert pm.guess_name(bib) == 'Huang2014_JQSRT_147_134.pdf'
def test_guess_name_non_letter_characters(): bib = bm.Bib(r'''@ARTICLE{GarciaMunoz2007pssHD209458bAeronomy, author = {{Garc{\'\i}a-Mu{\~n}oz}, A.}, title = "{Physical and chemical aeronomy of HD 209458b}", year = "2007", adsurl = {https://ui.adsabs.harvard.edu/abs/2007P&SS...55.1426G}, }''') assert pm.guess_name(bib) == 'GarciaMunoz2007_PSS_55_1426.pdf'
def test_guess_name_blanks(): bib = bm.Bib('''@MISC{AASteamHendrickson2018aastex62, author = {{AAS Journals Team}, and {Hendrickson}, Amy}, title = "{Aasjournals/Aastex60: Version 6.2 Official Release}", year = "2018", adsurl = {https://ui.adsabs.harvard.edu/abs/2018zndo...1209290T}, }''') assert pm.guess_name(bib) == 'AASJournalsTeam2018_zndo_12_9290.pdf'
def test_guess_name_arxiv_arxiv(): bib = bm.Bib('''@ARTICLE{AndraeEtal2010arxivChiSquareStats, author = {{Andrae}, Rene and {Schulze-Hartung}, Tim and {Melchior}, Peter}, title = "{Dos and don'ts of reduced chi-squared}", year = "2010", adsurl = {https://ui.adsabs.harvard.edu/abs/2010arXiv1012.3754A}, }''') assert pm.guess_name(bib, arxiv=True) == \ 'Andrae2010_arXiv_1012_3754.pdf'
def test_guess_name_with_bibcode(): bib = bm.Bib('''@ARTICLE{FortneyEtal2008apjTwoClasses, author = {{Fortney}, J.~J. and {Lodders}, K. and {Marley}, M.~S. and {Freedman}, R.~S.}, title = "{A Unified Theory for the Atmospheres of the Hot and Very Hot Jupiters: Two Classes of Irradiated Atmospheres}", year = "2008", adsurl = {https://ui.adsabs.harvard.edu/abs/2008ApJ...678.1419F}, }''') assert pm.guess_name(bib) == 'Fortney2008_ApJ_678_1419.pdf'