jose-compu / jose-compu/funes.cpp

[LogosDB] Add tests for delete/update operations

Open
#11 0 comments 0 reactions 0 assignees View on GitHub
stale
Dominant language
C++
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Add test coverage for new LogosDB v0.2.0 delete and update operations.

## Test Scenarios

### Delete Tests
1. **Basic delete**
- Teach a fact, delete it, verify it is not retrieved
- Check logosdb_count_live() vs logosdb_count()

2. **Delete and re-teach**
- Teach, delete, re-teach same fact
- Verify new ID is assigned

3. **Delete non-existent**
- Attempt to delete invalid ID
- Verify graceful error handling

### Update Tests
1. **Basic update**
- Teach fact, update with new embedding/text
- Verify new ID returned, old ID deleted

2. **Update search results**
- Update a fact, search immediately after
- Verify new version is found

### Integration Tests
1. **Multi-session persistence**
- Delete in session 1, verify gone in session 2
- Update in session 1, verify new version in session 2

2. **Concurrent modifications**
- Teach from multiple processes
- Delete while another process searches

## Test Implementation
- Extend semantic_memory_smoke.py
- Or create new test_logosdb_operations.py
- Use LogosDB C API directly or Python bindings

## Acceptance Criteria
- [ ] Test basic delete operation
- [ ] Test basic update operation
- [ ] Test delete/update persistence across sessions
- [ ] Test error handling for invalid IDs
- [ ] Test live vs total count accuracy
- [ ] Document test requirements in tests/README.md

## Dependencies
- Requires LogosDB v0.2.0 (issue #8)
- May use Python bindings from LogosDB v0.2.0

## Related Files
- tools/longmemeval-mini/semantic_memory_smoke.py
- tools/longmemeval-mini/semantic_memory_smoke_extended.py

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.