Download tests/unit/test_memory.py from jayc1978/aegis: direct link, hf CLI and curl.
- Browser
- Download file 2.82 kB
-
https://huggingface.co/jayc1978/aegis/resolve/main/tests/unit/test_memory.py
- Command line
-
hf download hf://jayc1978/aegis/tests/unit/test_memory.py
-
curl -L -o test_memory.py https://huggingface.co/jayc1978/aegis/resolve/main/tests/unit/test_memory.py
2.82 kB
| import pytest | |
| from aegis.core import ( | |
| DuplicateMemoryKeyError, | |
| MemoryEntry, | |
| MemoryKeyNotFoundError, | |
| MemoryStore, | |
| ) | |
| def test_memory_store_adds_and_gets_entry() -> None: | |
| store = MemoryStore() | |
| entry = MemoryEntry( | |
| key="planner.output", | |
| value={"steps": ["analyze", "execute"]}, | |
| metadata={"agent": "planner"}, | |
| ) | |
| store.add(entry) | |
| stored = store.get("planner.output") | |
| assert stored.key == "planner.output" | |
| assert stored.value == {"steps": ["analyze", "execute"]} | |
| assert stored.metadata == {"agent": "planner"} | |
| assert len(store) == 1 | |
| def test_memory_store_initializes_with_entries() -> None: | |
| store = MemoryStore( | |
| [ | |
| MemoryEntry(key="beta", value=2), | |
| MemoryEntry(key="alpha", value=1), | |
| ] | |
| ) | |
| assert store.keys() == ("alpha", "beta") | |
| assert len(store) == 2 | |
| def test_memory_store_rejects_duplicate_key() -> None: | |
| store = MemoryStore([MemoryEntry(key="result", value=1)]) | |
| with pytest.raises( | |
| DuplicateMemoryKeyError, | |
| match="Memory key already exists: result", | |
| ): | |
| store.add(MemoryEntry(key="result", value=2)) | |
| def test_memory_store_set_replaces_existing_entry() -> None: | |
| store = MemoryStore([MemoryEntry(key="result", value=1)]) | |
| store.set(MemoryEntry(key="result", value=2)) | |
| assert store.get("result").value == 2 | |
| assert len(store) == 1 | |
| def test_memory_store_raises_for_missing_key() -> None: | |
| store = MemoryStore() | |
| with pytest.raises( | |
| MemoryKeyNotFoundError, | |
| match="Memory key not found: missing", | |
| ): | |
| store.get("missing") | |
| def test_memory_store_deletes_entry() -> None: | |
| store = MemoryStore([MemoryEntry(key="result", value=1)]) | |
| store.delete("result") | |
| assert store.contains("result") is False | |
| assert len(store) == 0 | |
| def test_memory_store_rejects_delete_for_missing_key() -> None: | |
| store = MemoryStore() | |
| with pytest.raises( | |
| MemoryKeyNotFoundError, | |
| match="Memory key not found: missing", | |
| ): | |
| store.delete("missing") | |
| def test_memory_store_normalizes_keys() -> None: | |
| store = MemoryStore() | |
| store.add(MemoryEntry(key=" planner.output ", value=1)) | |
| assert store.contains("planner.output") is True | |
| assert store.get(" planner.output ").key == "planner.output" | |
| def test_memory_store_rejects_empty_key_lookup() -> None: | |
| store = MemoryStore() | |
| with pytest.raises(ValueError, match="Memory key must not be empty"): | |
| store.get(" ") | |
| def test_memory_store_clear_removes_all_entries() -> None: | |
| store = MemoryStore( | |
| [ | |
| MemoryEntry(key="one", value=1), | |
| MemoryEntry(key="two", value=2), | |
| ] | |
| ) | |
| store.clear() | |
| assert store.keys() == () | |
| assert len(store) == 0 | |