AyCode.Core/AyCode.Core.Tests/TestModels
Loretta b8d0d85c99 Refactor charset profiles; split StringSmall decode paths
- Benchmark charset profiles are now length-consistent: all *Short = 40 chars, all *Long = 280 chars, across ASCII, Latin1, CJK BMP, Cyrillic, and Mixed.
- `CharsetSuffixes` was rewritten with new profiles and base-string repetition for compile-time constants.
- Menu/configuration updated for new profiles, selection logic, and improved descriptions.
- Docs updated to reflect new profiles, lengths, and serialization tier impacts.
- `StringSmall` deserialization split into `ReadStringSmallCompact` and `ReadStringSmallFastWire`; all call sites now dispatch by mode, clarifying the hot path.
- SGen codegen and runtime dispatch tables updated for the new decode split.
- Binary marker docs clarified: only Intern/Metadata/Polymorph features are wire-symmetric for reader case omission; RefHandling is not.
- Added `BINARY_STRICT_SGEN.md` planning doc for a SGen-only, attribute-required, AOT-friendly NuGet package.
2026-05-19 12:58:22 +02:00
..
AcSerializerModels.cs Refactor SGen: property/object marker bridges, FixObj support 2026-03-10 17:32:00 +01:00
BenchmarkTestDataProvider.cs Refactor charset profiles; split StringSmall decode paths 2026-05-19 12:58:22 +02:00
GeneratedSerializerTestModels.cs Add AcBinary Source Generator for fast serialization 2026-01-06 08:58:34 +01:00
README.md Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
SharedTestBaseModels.cs Refactor benchmark infra: generic, multi-variant test data 2026-05-13 13:54:53 +02:00
SharedTestModels.cs [LOADED_DOCS: 2 files, no new loads] 2026-05-13 08:40:42 +02:00
SharedTestOrderModels.cs Fix SGen ref-handling asymmetry; add regression tests 2026-05-19 08:32:39 +02:00
SignalRTestInfrastructure.cs [LOADED_DOCS: 2 files, no new loads] 2026-05-13 08:40:42 +02:00
StockTakingTestModels.cs Add expression serialization & chain API for JSON deserialization 2025-12-29 15:28:46 +01:00
TestDataFactory.cs Refactor benchmark infra: generic, multi-variant test data 2026-05-13 13:54:53 +02:00
TestLogger.cs Add expression serialization & chain API for JSON deserialization 2025-12-29 15:28:46 +01:00

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().