AyCode.Core/AyCode.Core.Tests/Serialization
Loretta 910b0deab8 [LOADED_DOCS: 2 files, no new loads]
Separate raw and framed streaming in AcBinarySerializer

Refactored AcBinarySerializer and AsyncPipeWriterOutput to support both raw (headerless) and multiplexed/framed ([201][UINT16][data]) streaming wire formats, controlled by a new flag and explicit APIs. Updated AsyncPipeReaderInput and AcBinaryDeserializer to match, with new constructor options and documentation. Expanded tests for both modes and added runtime type detection for flush strategy safety. Minor refactoring and doc improvements throughout.
2026-04-29 16:09:33 +02:00
..
AcBinaryDateTimeSerializationTests.cs Refactor: Add high-perf JSON serializer & merge support 2025-12-14 19:34:49 +01:00
AcBinarySerializerBasicTests.cs Polymorphic serialization: slot-based prefix system overhaul 2026-03-09 15:04:46 +01:00
AcBinarySerializerBenchmarkTests.cs Refactor string interning to use enum and attribute 2026-01-26 11:04:25 +01:00
AcBinarySerializerChainReferenceTests.cs Refactor: Add high-performance Chain API for serializers 2025-12-29 22:41:28 +01:00
AcBinarySerializerChainTests.cs Zero-copy SignalR: direct object response, no SignalData 2026-04-06 22:45:00 +02:00
AcBinarySerializerCircularReferenceTests.cs Update serializer tests for param options; swap option defaults 2026-02-25 09:43:55 +01:00
AcBinarySerializerDateTimeTests.cs Add expression serialization & chain API for JSON deserialization 2025-12-29 15:28:46 +01:00
AcBinarySerializerDiagnosticTests.cs Refactor SGen: property/object marker bridges, FixObj support 2026-03-10 17:32:00 +01:00
AcBinarySerializerGenericTypeTests.cs Add expression serialization & chain API for JSON deserialization 2025-12-29 15:28:46 +01:00
AcBinarySerializerIIdReferenceTests.cs Refactor SGen: property/object marker bridges, FixObj support 2026-03-10 17:32:00 +01:00
AcBinarySerializerNamedPipeTests.cs [LOADED_DOCS: 2 files, no new loads] 2026-04-29 16:09:33 +02:00
AcBinarySerializerNavigationPropertyTests.cs Refactor: unify reference handling, footer string interning, benchmarks 2026-01-23 10:50:19 +01:00
AcBinarySerializerNullableTests.cs Add expression serialization & chain API for JSON deserialization 2025-12-29 15:28:46 +01:00
AcBinarySerializerObjectTests.cs Update enum values, PropertySkip code, and add int tests 2026-01-05 09:44:02 +01:00
AcBinarySerializerPipeParallelTests.cs [LOADED_DOCS: 2 files, no new loads] 2026-04-29 16:09:33 +02:00
AcBinarySerializerStringInterningTests.cs Refactor string interning to use enum and attribute 2026-01-26 11:04:25 +01:00
AcExpressionNodeSerializationTests.cs Refactor: centralize strongly-typed property accessors 2026-01-21 10:36:06 +01:00
AcJsonSerializerChainTests.cs Add expression serialization & chain API for JSON deserialization 2025-12-29 15:28:46 +01:00
AcJsonSerializerIIdReferenceTests.cs Add domain context to Toon meta; IId ref tests for JSON/Bin 2026-01-16 09:27:59 +01:00
AcSerializerTestHelper.cs Add expression serialization & chain API for JSON deserialization 2025-12-29 15:28:46 +01:00
ChainReferenceDebugTest.cs IId-based reference deduplication for serialization 2026-01-16 22:55:52 +01:00
GeneratedSerializerIntegrationTests.cs Generate IGeneratedBinaryWriter for fast serialization 2026-02-14 20:50:38 +01:00
QuickBenchmark.cs Zero-copy SignalR: direct object response, no SignalData 2026-04-06 22:45:00 +02:00
README.md Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00

README.md

Serialization Tests

Comprehensive test suite for binary and JSON serialization: round-trips, reference handling, chains, and source generator integration.

Key Files

Basic Types

  • AcBinarySerializerBasicTests.cs — Primitives: int, double, string, bool, DateTime, Guid.
  • AcBinarySerializerDateTimeTests.cs — DateTime handling and type mismatch detection.
  • AcBinarySerializerNullableTests.cs — Nullable types: int?, long?, etc.

Complex Objects

  • AcBinarySerializerObjectTests.cs — Nested objects and hierarchies.
  • AcBinarySerializerNavigationPropertyTests.cs — EF-style navigation properties.
  • AcBinarySerializerGenericTypeTests.cs — Generic type parameters.

Reference Handling

  • AcBinarySerializerChainTests.cs — Binary Chain API (CreateDeserializeChain, ThenDeserialize).
  • AcBinarySerializerChainReferenceTests.cs — Chain with $id/$ref references.
  • AcBinarySerializerCircularReferenceTests.cs — Circular/bidirectional references.
  • AcBinarySerializerIIdReferenceTests.cs — IId interface-based reference tracking.
  • AcBinarySerializerStringInterningTests.cs — String deduplication via [AcStringIntern].

JSON

  • AcJsonSerializerChainTests.cs — JSON chain operations.
  • AcJsonSerializerIIdReferenceTests.cs — JSON $id/$ref handling.
  • AcExpressionNodeSerializationTests.cs — Expression tree serialization.

Source Generator & Performance

  • GeneratedSerializerIntegrationTests.cs — Verifies generated writer types implement IGeneratedBinaryWriter.
  • QuickBenchmark.cs — Performance comparison: AcBinary vs MessagePack.
  • AcSerializerTestHelper.cs — Factory methods for test data.