- Add overflow/corruption guards to string (de)serialization (writer/reader now throw on invalid lengths) - Remove dead string serialization methods per BINARY_TODO.md audit - Update BINARY_TODO.md with closure/resolution for H2Q6, O7G2, V4N5, and related entries - Add MaxStringCharLength constant and update marker reservations in BinaryTypeCode - Simplify string cache ASCII verification in deserializer - Add SGen/Runtime round-trip compatibility tests for large/deep data - Minor code modernization and style improvements |
||
|---|---|---|
| .. | ||
| AcBinaryDateTimeSerializationTests.cs | ||
| AcBinarySerializerBasicTests.cs | ||
| AcBinarySerializerBenchmarkTests.cs | ||
| AcBinarySerializerChainReferenceTests.cs | ||
| AcBinarySerializerChainTests.cs | ||
| AcBinarySerializerCircularReferenceTests.cs | ||
| AcBinarySerializerDateTimeTests.cs | ||
| AcBinarySerializerDiagnosticTests.cs | ||
| AcBinarySerializerGenericTypeTests.cs | ||
| AcBinarySerializerIIdReferenceTests.cs | ||
| AcBinarySerializerNamedPipeTests.cs | ||
| AcBinarySerializerNavigationPropertyTests.cs | ||
| AcBinarySerializerNullableTests.cs | ||
| AcBinarySerializerObjectTests.cs | ||
| AcBinarySerializerPipeParallelTests.cs | ||
| AcBinarySerializerSGenRuntimeCompatibilityTests.cs | ||
| AcBinarySerializerStringInterningTests.cs | ||
| AcExpressionNodeSerializationTests.cs | ||
| AcJsonSerializerChainTests.cs | ||
| AcJsonSerializerIIdReferenceTests.cs | ||
| AcSerializerTestHelper.cs | ||
| AsyncPipeReaderInputExtensions.cs | ||
| ChainReferenceDebugTest.cs | ||
| GeneratedSerializerIntegrationTests.cs | ||
| QuickBenchmark.cs | ||
| README.md | ||
| Utf8TranscoderTests.cs | ||
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.