27 lines
1.1 KiB
Python
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"
|