Summary
Unit tests validate individual components but miss integration-level bugs. We need tests that exercise the providers the way a real consumer would:
Suggested Test Scenarios
ADO.NET Consumer
- Full CRUD lifecycle: Open connection → CREATE TABLE → INSERT rows → SELECT → UPDATE → DELETE → verify
- DataAdapter Fill/Update round-trip with all row states (Added, Modified, Deleted)
- Transaction commit/rollback with verification
- Multiple concurrent connections to same file
- Connection string variations (folder-as-database vs file-as-database)
EF Core Consumer
- DbContext with model → EnsureCreated → Add entities → SaveChanges → query back → verify
- LINQ queries: Where, OrderBy, Select projection, Include, GroupBy
- Migration scenario (if supported)
- Multiple providers (CSV, JSON, XML) with same model
Cross-Provider
- Same test suite runs against all 4 providers (CSV, JSON, XML, XLS read-only)
- Verify data fidelity across providers (write with JSON, read with CSV of same data)
Why This Matters
Multiple bugs were found during this session that unit tests missed — Transaction Dispose not rolling back, FileDataReader breaking connection reuse, identity collisions, XML corruption under concurrency.
Summary
Unit tests validate individual components but miss integration-level bugs. We need tests that exercise the providers the way a real consumer would:
Suggested Test Scenarios
ADO.NET Consumer
EF Core Consumer
Cross-Provider
Why This Matters
Multiple bugs were found during this session that unit tests missed — Transaction Dispose not rolling back, FileDataReader breaking connection reuse, identity collisions, XML corruption under concurrency.