MnemoCore / tests /test_engine_cleanup.py
Granis87's picture
Upload folder using huggingface_hub
c3a3710 verified
Raw
History Blame Contribute Delete
2.18 kB
"""
Test HAIMEngine Synapse Cleanup
"""
import os
import pytest
from mnemocore.core.engine import HAIMEngine
from mnemocore.core.synapse import SynapticConnection
from mnemocore.core.config import reset_config
@pytest.fixture
def test_engine(tmp_path):
reset_config()
data_dir = tmp_path / "data"
data_dir.mkdir()
synapses_file = data_dir / "synapses.json"
os.environ["HAIM_DATA_DIR"] = str(data_dir)
os.environ["HAIM_MEMORY_FILE"] = str(data_dir / "memory.jsonl")
os.environ["HAIM_SYNAPSES_FILE"] = str(synapses_file)
engine = HAIMEngine()
yield engine
# Cleanup
if "HAIM_DATA_DIR" in os.environ:
del os.environ["HAIM_DATA_DIR"]
if "HAIM_MEMORY_FILE" in os.environ:
del os.environ["HAIM_MEMORY_FILE"]
if "HAIM_SYNAPSES_FILE" in os.environ:
del os.environ["HAIM_SYNAPSES_FILE"]
reset_config()
@pytest.mark.asyncio
async def test_cleanup_decay(test_engine):
await test_engine.initialize()
# Add dummy synapses
# Synapse 1: Weak (below threshold 0.1)
syn1 = SynapticConnection("mem_1", "mem_2", initial_strength=0.05)
test_engine.synapses[("mem_1", "mem_2")] = syn1
# Synapse 2: Strong (above threshold 0.1)
syn2 = SynapticConnection("mem_3", "mem_4", initial_strength=0.2)
test_engine.synapses[("mem_3", "mem_4")] = syn2
# Check initial count
assert len(test_engine.synapses) == 2
# Run cleanup
await test_engine.cleanup_decay(threshold=0.1)
# Verify results
assert len(test_engine._synapse_index) == 1
assert test_engine._synapse_index.get("mem_3", "mem_4") is not None
assert test_engine._synapse_index.get("mem_1", "mem_2") is None
# Verify persistence
assert os.path.exists(test_engine.synapse_path)
@pytest.mark.asyncio
async def test_cleanup_no_decay(test_engine):
await test_engine.initialize()
# All strong
syn1 = SynapticConnection("mem_1", "mem_2", initial_strength=0.5)
test_engine.synapses[("mem_1", "mem_2")] = syn1
await test_engine.cleanup_decay(threshold=0.1)
assert len(test_engine._synapse_index) == 1