lllin000_PaperForge/tests/test_ocr_index.py
2026-06-05 12:11:51 +08:00

27 lines
1.1 KiB
Python

from __future__ import annotations
def test_role_index_separates_body_caption_table_metadata_reference() -> None:
from paperforge.worker.ocr_index import build_role_indexes
structured_blocks = [
{"paper_id": "KEY001", "page": 1, "block_id": "b1", "role": "body_paragraph", "text": "Methods body"},
{"paper_id": "KEY001", "page": 1, "block_id": "b2", "role": "figure_caption", "text": "Figure 1. Result"},
{"paper_id": "KEY001", "page": 1, "block_id": "b3", "role": "table_caption", "text": "Table 1. Data"},
{"paper_id": "KEY001", "page": 1, "block_id": "b4", "role": "reference_item", "text": "Smith et al. (2024)."},
]
resolved_metadata = {
"title": {"value": "Paper Title"},
"doi": {"value": "10.1000/xyz"},
}
indexes = build_role_indexes(
structured_blocks=structured_blocks,
resolved_metadata=resolved_metadata,
)
assert "body" in indexes
assert "captions" in indexes
assert "tables" in indexes
assert "metadata" in indexes
assert "references" in indexes