- Fix SGen collection/dictionary null-handling: always emit PropertySkip for nulls, preventing NREs regardless of nullable annotation. - Add micro-opt CV threshold (1.5%) to benchmark output for finer-grained result flagging; update reporting and context. - Benchmark loop: add inter-sample settle delay, trimmed median, and branchless progress for more reliable measurements. - Add regression tests for SGen null-handling (complex, collection, dictionary; null/non-null; SGen/reflection; FastMode/Default). - Update docs: clarify SGen null-check contract, add AQN binder security plan, and cross-reference related issues. - Misc: code cleanups, improved comments, and minor doc clarifications. |
||
|---|---|---|
| .. | ||
| 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().