| from unittest.mock import Mock | |
| import pytest | |
| from marker.processors.llm.llm_table_merge import LLMTableMergeProcessor | |
| from marker.processors.table import TableProcessor | |
| from marker.schema import BlockTypes | |
| def test_llm_table_processor_nomerge(pdf_document, table_rec_model, recognition_model, detection_model, mocker): | |
| mock_cls = Mock() | |
| mock_cls.return_value = { | |
| "merge": "true", | |
| "direction": "right" | |
| } | |
| cell_processor = TableProcessor(recognition_model, table_rec_model, detection_model) | |
| cell_processor(pdf_document) | |
| tables = pdf_document.contained_blocks((BlockTypes.Table,)) | |
| assert len(tables) == 3 | |
| processor = LLMTableMergeProcessor(mock_cls, {"use_llm": True, "gemini_api_key": "test"}) | |
| processor(pdf_document) | |
| tables = pdf_document.contained_blocks((BlockTypes.Table,)) | |
| assert len(tables) == 3 |