Refactored the benchmark and test data infrastructure to use generic, type-safe, and multi-variant models. Introduced generic base classes for the test data hierarchy and factories, with closing-generic aliases for _All_True and _All_False families. Benchmarks now select the correct test data variant per serializer options, and all serializers are generic over the order type. Output and result reporting now include the CLR type name for clarity. Centralized string property handling and improved documentation throughout. |
||
|---|---|---|
| .. | ||
| 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.