- 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. |
||
|---|---|---|
| .. | ||
| LoginServices | ||
| SignalRs | ||
| AyCode.Services.Server.Tests.csproj | ||
| InvokeMethodExtensionTests.cs | ||
| README.md | ||
| TestLogger.cs | ||
README.md
AyCode.Services.Server.Tests
@project { type = "test" }
Comprehensive server-side tests for SignalR communication, DataSource operations, login services, and reflection-based method invocation.
Folder Structure
| Folder | Purpose |
|---|---|
SignalRs/ |
Full SignalR client→hub→service test infrastructure |
LoginServices/ |
Login service test base classes |
Key Files (Root)
TestLogger.cs— Re-exports TestLogger from AyCode.Core.Tests.InvokeMethodExtensionTests.cs— Tests MethodInfo.InvokeMethod: sync, async Task unwrapping, Task.FromResult (production bug fix), non-generic Task, complex objects.