diff options
| author | batsumaru <> | 2026-09-16 17:33:42 +0900 |
|---|---|---|
| committer | batsumaru <> | 2026-09-16 17:33:42 +0900 |
| commit | 71879695b951dd30bbd6cbd25261e22ac7f8e5d1 (patch) | |
| tree | 62f30ca6d9be8ed89a796bd0ab91826cd32d9cce /tests/test_memory_store.py | |
| parent | d164005eb54dfc97a5827524948e804a37779f7c (diff) | |
Added more memory management and fixed system prompt bug
Diffstat (limited to 'tests/test_memory_store.py')
| -rw-r--r-- | tests/test_memory_store.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/test_memory_store.py b/tests/test_memory_store.py index 8f3407d..b83d217 100644 --- a/tests/test_memory_store.py +++ b/tests/test_memory_store.py @@ -211,3 +211,62 @@ def test_search_respects_limit(tmp_path): store.add(memory) assert store.search("programming", limit=2) == memories[:2] + + +def test_search_uses_fts(tmp_path): + database = Database(tmp_path / "agent.db") + database.migrate() + store = LongTermMemoryStore(database) + + memory = LongTermMemory.create( + "User prefers Rust for systems programming.", + MemoryCategory.SEMANTIC, + ) + store.add(memory) + + results = store.search("preferred systems programming language") + + assert [result.id for result in results] == [memory.id] + + +def test_delete_removes_memory_from_search(tmp_path): + database = Database(tmp_path / "agent.db") + database.migrate() + store = LongTermMemoryStore(database) + + memory = LongTermMemory.create( + "User prefers Rust for systems programming.", + MemoryCategory.SEMANTIC, + ) + store.add(memory) + + assert store.search("Rust") + + store.delete(memory.id) + + assert store.search("Rust") == [] + + +def test_search_filters_by_category(tmp_path): + database = Database(tmp_path / "agent.db") + database.migrate() + store = LongTermMemoryStore(database) + + semantic = LongTermMemory.create( + "User prefers Rust.", + MemoryCategory.SEMANTIC, + ) + episodic = LongTermMemory.create( + "User used Rust on a filesystem project.", + MemoryCategory.EPISODIC, + ) + + store.add(semantic) + store.add(episodic) + + results = store.search( + "Rust", + category=MemoryCategory.EPISODIC, + ) + + assert [result.id for result in results] == [episodic.id] |
