AyCode.Core/AyCode.Core.Tests
Loretta f051f32bfa Refactor MaxDepth handling: explicit Throw/Truncate/Disable
- Introduce `MaxDepthBehavior` option (`Throw`, `Truncate`, `Disable`) for explicit depth-limit handling in AcBinarySerializer and SGen.
- Default is now `Throw` (fail-fast); `ShallowCopy` preset uses `Truncate` for shallow-copy semantics.
- Refactor runtime and SGen paths to use unified `TryEnterRecursion`/`ExitRecursion` for correct wire output and inc/dec symmetry.
- Add focused tests to diagnose SGen+Truncate wire-misalignment bug (see `BINARY_ISSUES.md#accore-bin-i-t7k3`).
- Update docs and comments to clarify new behavior and document Toon serializer's current lack of `MaxDepthBehavior` support.
- Adjust tests and usages for new semantics and improved safety.
2026-05-14 14:13:48 +02:00
..
Compression Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
GeneratedWriters Remove depth param from serializers; use context field 2026-05-13 23:02:15 +02:00
Serialization Refactor MaxDepth handling: explicit Throw/Truncate/Disable 2026-05-14 14:13:48 +02:00
TestModels Remove "Test Type" from benchmark outputs 2026-05-13 15:03:39 +02:00
AyCode.Core.Tests.csproj Update dependencies and expand README documentation 2026-03-20 16:42:51 +01:00
GlobalUsings.cs database improvements... 2023-11-23 22:38:13 +01:00
JsonExtensionTests.cs [LOADED_DOCS: 2 files, no new loads] 2026-05-13 08:40:42 +02:00
README.md Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
TestModelBase.cs refactoring, improvements, fixes, etc... 2024-05-01 17:07:48 +02:00

README.md

AyCode.Core.Tests

MSTest unit tests for AyCode.Core serialization, compression, and utilities. Covers binary/JSON round-trips, reference handling, nullable types, source generator integration, and performance benchmarks.

Folder Structure

Folder Purpose
Serialization/ Binary and JSON serialization tests (20+ test classes)
Compression/ GZip compression tests
TestModels/ Shared test entities, enums, data factories, SignalR infrastructure
GeneratedWriters/ Hand-written source generator output examples

Key Files (Root)

  • GlobalUsings.cs — Global MSTest using.
  • TestModelBase.cs — Abstract base for test models with configuration support.
  • JsonExtensionTests.cs — JSON extension method tests.

Dependencies

Dependency Purpose
MSTest Test framework
MessagePack Serialization comparison
MemoryPack Serialization comparison
MongoDB.Bson BSON comparison