def test_do_relations_program_citation(self): article = Article("10.7554/eLife.00666") citation = Citation() citation.publication_type = "data" citation.doi = "10.7554/eLife.00666" article.ref_list = [citation] do_result = related.do_relations_program(article) self.assertTrue(do_result)
def test_ref_list_citation_with_no_id(self): """for test coverage an article with a ref_list with a citation that has no id attribute""" doi = "10.7554/eLife.00666" title = "Test article" article = Article(doi, title) citation = Citation() citation.article_title = "An article title" article.ref_list = [citation] c_xml = generate.build_crossref_xml([article]) crossref_xml_string = c_xml.output_xml() self.assertTrue('<citation key="1">' in crossref_xml_string)
def test_ref_list_citation_elocation_id(self): """for test coverage for schema where elocation_id goes into first_page element""" # load a config and override the value raw_config_object = raw_config("elife") original_schema_version = raw_config_object.get( "crossref_schema_version") raw_config_object["crossref_schema_version"] = "4.4.0" crossref_config = parse_raw_config(raw_config_object) doi = "10.7554/eLife.00666" title = "Test article" article = Article(doi, title) citation = Citation() citation.elocation_id = "e00003" article.ref_list = [citation] c_xml = generate.CrossrefXML([article], crossref_config, None, True) crossref_xml_string = c_xml.output_xml() self.assertTrue( "<first_page>e00003</first_page>" in crossref_xml_string) # now set the config back to normal raw_config_object["crossref_schema_version"] = original_schema_version
def test_ref_list_data_citation_with_pmid(self): """ for test coverage an article with a ref_list with a data citation that has a pmid attribute """ doi = "10.7554/eLife.00666" title = "Test article" article = Article(doi, title) citation = Citation() citation.data_title = "An data title" citation.publication_type = "data" citation.pmid = "pmid" article.ref_list = [citation] expected_contains = ( "<rel:program><rel:related_item><rel:description>An data title</rel:description>" + '<rel:inter_work_relation identifier-type="pmid" relationship-type="references">' + "pmid</rel:inter_work_relation></rel:related_item></rel:program>") # generate c_xml = generate.build_crossref_xml([article]) crossref_xml_string = c_xml.output_xml() # test assertion self.assertTrue(expected_contains in crossref_xml_string)