AyCode.Core/AyCode.Core.Tests/Serialization
Loretta 17daf0fef2 Document AcBinary wire format, sync docs, update conventions
- Add BINARY_FORMAT.md: full AcBinary wire format spec (markers, encoding, options, protocol, interactions)
- Reference BINARY_FORMAT.md from GLOSSARY.md, Binaries/README.md, and Serializers/Binaries/README.md; add new glossary terms
- Clarify and expand config options tables to match new doc
- Add/clarify LLM maintenance rules: always sync .md files with code, auto-fix discrepancies
- Update root README.md: AyCode.Core targets .NET 9, not 10; stress doc/code sync
- Add code reuse and doc sync conventions to copilot-instructions.md and CONVENTIONS.md
- Add docs/ folder and BINARY_FORMAT.md to solution as Solution Items
- Minor clarifications and cross-links in ARCHITECTURE.md and other docs
2026-03-29 09:11:57 +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 Refactor: Add high-performance Chain API for serializers 2025-12-29 22:41:28 +01: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
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
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 Improve circular reference handling in binary serializer 2026-02-23 16:01:37 +01: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.