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_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_import(self): if self.parser.isAvailable(): source = open(setup.ENDNOTE_TEST_SOURCE, 'r').read() self.failUnless(source) entries = TestEntries(self.parser.getEntries(source)) self.failUnless(len(entries) == 2) expected_author_last_names = ('Dufour', 'Fieschi', 'Hergon', 'Joubert', 'Raps', 'Staccini',) 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) expected_titles = ('Combining advanced networked technology and pedagogical methods to improve collaborative distance learning', 'Collaborative and workflow-oriented digital portfolio: Creating a web-based tool to support a nationwide program of practices evaluation in the blood transfusion area',) parsed_titles = [e.title for e in entries.entries] for title in expected_titles: self.failUnless(title in parsed_titles, 'Parse failed - missing expected title "%s"' % title) # Keywords - first entry in sample file has none, second has 9 self.failIf(hasattr(entries.entries[0],'keywords') and entries.entries[0].keywords, 'Parsed non existing keywords') self.failUnless(len(entries.entries[1].keywords) == 9) # Confirm a few w/ tricky characters survived the parse kwds = ["Health Services Research/ organization & administration", "Primary Health Care/ standards", "Program Evaluation", "Quality Assurance, Health Care"] for keyword in kwds: self.failUnless(keyword in entries.entries[1].keywords, "Failed to correctly parse keyword: '%s'" % keyword) else: print """\nOne or more transformationtool was not found! please make sure bibutils is installed to run all tests. """ print ("-" * 20) + "\n"