aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_grobid_parse.py
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@archive.org>2021-10-27 18:24:19 -0700
committerBryan Newbold <bnewbold@archive.org>2021-10-27 18:25:58 -0700
commit560d5f7cc1672f95e2a953ab5908f4205151a703 (patch)
tree04b35084358786bbd2329491be07cde35a4d2289 /tests/test_grobid_parse.py
parent33211915773a0c77d064c55c1b02ceed6f455feb (diff)
downloadfatcat-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.py62
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."
+ )