def test_parser_with_umlauts(self): parser = XMLParser() if parser.isAvailable(): source = open(setup.UMLAUTS_TEST_XML, 'r').read() self.failUnless(source) entries = TestEntries(parser.getEntries(source)) self.failUnless(len(entries) == 1) entry = entries.entries[0] self.assertEqual(entry.publisher, u'Übersöpf Verlag'.encode('utf-8'))
def test_Parser(self): """test the functioning of the parser""" parser = XMLParser() if parser.isAvailable(): source = open(setup.MEDLINE_TEST_XML, 'r').read() self.failUnless(source) entries = TestEntries(parser.getEntries(source)) # are there enough entries? self.failUnless(len(entries) == 4) # are there the right number of authors? self.failUnless(len(entries.author_last_names()) == 13) # test individual name parsings: # lastname, one initial this_entry = entries.entryByTitle( "Molecular genetic evidence for parthenogenesis in the Burmese python, Python molurus bivittatus." ) expected_author = { "firstname": "E.", "middlename": "", "lastname": "Bruins" } self.failUnless(this_entry.authorIsPresent(expected_author), "author: %s is not listed" % expected_author) # lastname, more than one initial expected_author = { "firstname": "T.", "middlename": "V. M.", "lastname": "Groot" } self.failUnless(this_entry.authorIsPresent(expected_author), "author: %s is not listed" % expected_author) # lastname, firstname, middle initial this_entry = entries.entryByTitle( "Pharmacokinetics and tissue concentrations of azithromycin in ball pythons (Python regius)." ) expected_author = { "firstname": "Robert", "middlename": "P.", "lastname": "Hunter" } self.failUnless(this_entry.authorIsPresent(expected_author), "author: %s is not listed" % expected_author) else: print """\nOne or more transformationtool was not found! please make sure bibutils is installed to run all tests. """ print("-" * 20) + "\n"
def test_import(self): source = open(setup.MEDLINE_TEST_MED, 'r').read() self.failUnless(source) parser = MedlineParser() entries = TestEntries(parser.getEntries(source)) self.failUnless(len(entries) == 4) expected_author_last_names = ("Groot","Bruins","Breeuwer","Alibardi",\ "Thompson","Coke","Hunter","Isaza",\ "Koch","Goatley","Carpenter",\ "Trape","Mane",) parsed_author_last_names = entries.author_last_names() for name in expected_author_last_names: self.failUnless(name in parsed_author_last_names, 'Parse failed - missing author %s' % name)
def test_Parser(self): """test the functioning of the parser""" parser = RISParser() if parser.isAvailable(): source = open(setup.RIS_SOURCE, 'r').read() self.failUnless(source) entries = TestEntries(parser.getEntries(source)) self.failUnless(len(entries) == 7) self.failUnless( 'Markets and Municipalities: A Study of the Behavior of the Danish Municipalities' in entries.titles()) entry = entries.entries[0] self.failUnless(entry.pages == '79--102') self.failUnless(entry.volume == '114') self.failUnless(entry.number == '1 - 2') self.failUnless(entry.publication_year == '2003') self.failUnless(entry.journal == 'Public Choice') # XXX This test could be adjusted if the parser got smarter about # about converting 'Mar.' into 'March' ## rr: which it did inbetween it seems because I had to add ## the fully spelled out month names to the 'month_mapper' dict. self.failUnless(entry.publication_month == '01') entry_authors = entries.entries[0].authors self.failUnless(len(entry_authors) == 2) self.failUnless(entry_authors[0]['lastname'] == 'Christoffersen') self.failUnless(entry_authors[0]['firstname'] == 'Henrik') self.failUnless(entry_authors[0]['middlename'] == '') self.failUnless(entry_authors[1]['lastname'] == 'Paldam') self.failUnless(entry_authors[1]['firstname'] == 'Martin') self.failUnless(entry_authors[1]['middlename'] == '') last_entry = entries.entries[-1] self.assertEqual(last_entry.authors[1]['lastname'], u'M\xfcller'.encode('utf-8')) else: print """\nOne or more transformationtool was not found! please make sure bibutils is installed to run all tests. """ print("-" * 20) + "\n"