- Refactored string serialization for performance: ASCII-optimistic encode, single pass, and minimal shifting; extracted string interning logic to TryWriteInternedString for both runtime and SGen paths. - Updated AcBinarySerializer buffer writes to use BufferAt helper, removing redundant bounds checks. - Enhanced CLI argument parsing to support multiple args and charset selection; unknown args now emit warnings. - Switched all test data generation from Hungarian to English. - Benchmark report now includes .NET runtime version. - Cached MinStringInternLength in AcBinaryDeserializer for performance. - Minor BinaryTypeCode flag refactor and doc improvements. - Added BINARY_ISSUES.md entry for FastWire string interning/ref handling desync bug. |
||
|---|---|---|
| .. | ||
| AcSerializerModels.cs | ||
| BenchmarkTestDataProvider.cs | ||
| GeneratedSerializerTestModels.cs | ||
| README.md | ||
| 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().