File size: 948 Bytes
490f3fe | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | from __future__ import annotations
import importlib.util
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
def load_script(name: str):
path = ROOT / "scripts" / name
spec = importlib.util.spec_from_file_location(path.stem, path)
module = importlib.util.module_from_spec(spec)
assert spec and spec.loader
spec.loader.exec_module(module)
return module
def test_fixture_is_valid_and_gold_is_not_exported(tmp_path: Path) -> None:
module = load_script("prepare_longmemeval.py")
rows = module.load_and_validate(ROOT / "fixtures" / "tiny_longmemeval.json")
assert [row["question_id"] for row in rows] == ["tmcra_fixture_user", "tmcra_fixture_update"]
output = tmp_path / "qids.txt"
output.write_text("\n".join(str(row["question_id"]) for row in rows) + "\n", encoding="utf-8")
text = output.read_text(encoding="utf-8")
assert "Tea" not in text
assert "Shanghai" not in text
|