0f8fa8c7d5
Benchmarks: LongMemEval, LoCoMo, ConvoMem, MemBench runners with methodology docs and hybrid retrieval analysis. Tests: config, miner, convo_miner, normalize — 9 tests, all passing.
32 lines
826 B
Python
32 lines
826 B
Python
import os
|
|
import json
|
|
import tempfile
|
|
from mempalace.normalize import normalize
|
|
|
|
|
|
def test_plain_text():
|
|
f = tempfile.NamedTemporaryFile(mode="w", suffix=".txt", delete=False)
|
|
f.write("Hello world\nSecond line\n")
|
|
f.close()
|
|
result = normalize(f.name)
|
|
assert "Hello world" in result
|
|
os.unlink(f.name)
|
|
|
|
|
|
def test_claude_json():
|
|
data = [{"role": "user", "content": "Hi"}, {"role": "assistant", "content": "Hello"}]
|
|
f = tempfile.NamedTemporaryFile(mode="w", suffix=".json", delete=False)
|
|
json.dump(data, f)
|
|
f.close()
|
|
result = normalize(f.name)
|
|
assert "Hi" in result
|
|
os.unlink(f.name)
|
|
|
|
|
|
def test_empty():
|
|
f = tempfile.NamedTemporaryFile(mode="w", suffix=".txt", delete=False)
|
|
f.close()
|
|
result = normalize(f.name)
|
|
assert result.strip() == ""
|
|
os.unlink(f.name)
|