Files
2026Technology-Competition/tests/test_excel_parser.py
T

27 lines
1.1 KiB
Python

from genesis.data_models import SheetType
from genesis.parsers.excel_parser import ExcelParseResult, ExcelParser
from tests.excel_helpers import new_workbook, save_workbook
def test_parse_table_sheets(tmp_path):
wb = new_workbook({
"機能一覧": [["機能ID", "機能名"], ["A001", "社員登録"]],
"バッチ一覧": [["バッチID", "処理名"], ["B1", "夜間集計"]],
})
path = save_workbook(tmp_path, wb)
result = ExcelParser().parse(path)
assert isinstance(result, ExcelParseResult)
by_name = {t.name: t for t in result.tables}
assert by_name["機能一覧"].detected_type == SheetType.FUNCTION
assert len(by_name["機能一覧"].rows) == 1
assert by_name["バッチ一覧"].detected_type == SheetType.BATCH
def test_parse_free_text_sheet(tmp_path):
wb = new_workbook({"メモ": [["新入社員を登録"], [], [], [], []]})
path = save_workbook(tmp_path, wb)
result = ExcelParser().parse(path)
assert len(result.tables) == 1
assert result.tables[0].extraction_method == "llm_from_free_text"