- Fix SGen-generated writer bug: always null-check reference-type properties before serialization, emitting PropertySkip if null, to prevent runtime NREs. - Add regression tests for SGen null complex property handling. - Introduce CHUNK_ABORT ([203]) marker to SignalR binary protocol for graceful mid-stream serialize failure handling; update protocol logic and docs. - Improve documentation to cover bug, fix, and new protocol marker. - Minor: remove explicit net10.0 target from test csproj. |
||
|---|---|---|
| .. | ||
| AcSerializerModels.cs | ||
| BenchmarkTestDataProvider.cs | ||
| GeneratedSerializerTestModels.cs | ||
| README.md | ||
| SGenNullComplexPropertyModels.cs | ||
| SharedTestBaseModels.cs | ||
| SharedTestModels.cs | ||
| SharedTestOrderModels.cs | ||
| SignalRTestInfrastructure.cs | ||
| StockTakingTestModels.cs | ||
| TestDataFactory.cs | ||
| TestLogger.cs | ||
README.md
TestModels
Shared test entities, enums, data factories, and SignalR test infrastructure. Used across test and benchmark projects.
Key Files
SharedTestModels.cs— Enums (TestStatus, TestPriority, TestUserRole) and shared IId types (SharedTag, SharedCategory, SharedUser, MetadataInfo). Multi-serializer: [AcBinarySerializable], [MessagePackObject], [MemoryPackable].AcSerializerModels.cs— 30+ test models: simple, nested, collections, nullable, StockTaking hierarchy, circular references, generics, navigation properties, schema mismatch scenarios.GeneratedSerializerTestModels.cs— [AcBinarySerializable] models for source generator testing.StockTakingTestModels.cs— Production-like hierarchy: BaseEntity → MgEntityBase → MgStockTaking.TestDataFactory.cs— Centralized factory with ID sequencing: CreateTag(), CreateCategory(), CreateUser(), CreateOrder(), CreateOrderItem().SignalRTestInfrastructure.cs— SignalRMessageFactory, DTOs, CommonSignalRTags, SignalRBenchmarkData.TestLogger.cs— Logger with capture for assertions: HasErrorLogs, HasWarningLogs, GetErrorMessages().