# SignalRDatasources

DataSource CRUD, collection, tracking, and filter tests. Tested with List and AcObservableCollection over Binary and JSON serialization.

## Key Files

### Test Base (partial class)
- **`SignalRDataSourceTestBase.cs`** — Abstract generic base with SignalR infrastructure setup.
- **`SignalRDataSourceTestBase.Collections.cs`** — Count, Clear, Contains tests.
- **`SignalRDataSourceTestBase.ContextAndFilter.cs`** — ContextIds, CustomFilterCriteria, Expression filter with AcExpressionNode.
- **`SignalRDataSourceTestBase.CrudOperations.cs`** — Add (auto-save, tracking-only, duplicate/default ID validation).
- **`SignalRDataSourceTestBase.LoadDataSource.cs`** — Full DataSource load.
- **`SignalRDataSourceTestBase.LoadItem.cs`** — Single item load by ID.
- **`SignalRDataSourceTestBase.SaveChanges.cs`** — Persist tracked changes.
- **`SignalRDataSourceTestBase.Tracking.cs`** — Change tracking states (Add, Update, Delete).

### Concrete Test Classes
- **`SignalRDataSourceTests_List_Binary.cs`** — List + Binary.
- **`SignalRDataSourceTests_List_Binary_NoRef.cs`** — List + Binary without references.
- **`SignalRDataSourceTests_List_Json.cs`** — List + JSON.
- **`SignalRDataSourceTests_Observable_Binary.cs`** — ObservableCollection + Binary.
- **`SignalRDataSourceTests_Observable_Json.cs`** — ObservableCollection + JSON.

### Test DataSources
- **`TestOrderItemListDataSource.cs`** — DataSource with List<TestOrderItem>.
- **`TestOrderItemObservableDataSource.cs`** — DataSource with AcObservableCollection<TestOrderItem>.
