diff options
author | Bryan Newbold <bnewbold@archive.org> | 2021-10-27 18:24:19 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@archive.org> | 2021-10-27 18:25:58 -0700 |
commit | 560d5f7cc1672f95e2a953ab5908f4205151a703 (patch) | |
tree | 04b35084358786bbd2329491be07cde35a4d2289 /tests/test_grobid_parse.py | |
parent | 33211915773a0c77d064c55c1b02ceed6f455feb (diff) | |
download | fatcat-scholar-560d5f7cc1672f95e2a953ab5908f4205151a703.tar.gz fatcat-scholar-560d5f7cc1672f95e2a953ab5908f4205151a703.zip |
refactor use of grobid_tei_xml
Diffstat (limited to 'tests/test_grobid_parse.py')
-rw-r--r-- | tests/test_grobid_parse.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/test_grobid_parse.py b/tests/test_grobid_parse.py new file mode 100644 index 0000000..c0adf9b --- /dev/null +++ b/tests/test_grobid_parse.py @@ -0,0 +1,62 @@ +from grobid_tei_xml import parse_document_xml + + +def test_grobid_parse_legacy() -> None: + """ + This function formerly tested the grobid2json file in this project. Now it + tests backwards-compatibility of the grobid_tei_xml library. + """ + + with open("tests/files/example_grobid.tei.xml", "r") as f: + blob = f.read() + + doc = parse_document_xml(blob) + obj = doc.to_legacy_dict() + + assert ( + obj["title"] + == "Changes of patients' satisfaction with the health care services in Lithuanian Health Promoting Hospitals network" + ) + + ref = [c for c in obj["citations"] if c["id"] == "b12"][0] + assert ref["authors"][0] == {"given_name": "K", "name": "K Tasa", "surname": "Tasa"} + assert ref["journal"] == "Quality Management in Health Care" + assert ref["title"] == "Using patient feedback for quality improvement" + assert ref["date"] == "1996" + assert ref["pages"] == "206-225" + assert ref["volume"] == "8" + assert ( + ref["unstructured"] + == "Tasa K, Baker R, Murray M. Using patient feedback for qua- lity improvement. Quality Management in Health Care 1996;8:206-19." + ) + + +def test_grobid_parse() -> None: + """ + Equivalent to test_grobid_parse_legacy(), but using the GrobidDocument type directly + """ + + with open("tests/files/example_grobid.tei.xml", "r") as f: + blob = f.read() + + doc = parse_document_xml(blob) + + assert ( + doc.header.title + == "Changes of patients' satisfaction with the health care services in Lithuanian Health Promoting Hospitals network" + ) + + assert doc.citations is not None + ref = [c for c in doc.citations if c.id == "b12"][0] + assert ref.authors[0].given_name == "K" + assert ref.authors[0].full_name == "K Tasa" + assert ref.authors[0].surname == "Tasa" + assert ref.journal == "Quality Management in Health Care" + assert ref.title == "Using patient feedback for quality improvement" + assert ref.date == "1996" + assert ref.pages == "206-225" + assert ref.volume == "8" + assert ( + ref.unstructured + == "Tasa K, Baker R, Murray M. Using patient feedback for qua- lity improvement. Quality Management in Health Care 1996;8:206-19." + ) |