# AyCode.Core.Tests

MSTest unit tests for AyCode.Core serialization, compression, and utilities. Covers binary/JSON round-trips, reference handling, nullable types, source generator integration, and performance benchmarks.

## Folder Structure

| Folder | Purpose |
|---|---|
| [`Serialization/`](Serialization/README.md) | Binary and JSON serialization tests (20+ test classes) |
| [`Compression/`](Compression/README.md) | GZip compression tests |
| [`TestModels/`](TestModels/README.md) | Shared test entities, enums, data factories, SignalR infrastructure |
| [`GeneratedWriters/`](GeneratedWriters/README.md) | Hand-written source generator output examples |

## Key Files (Root)

- **`GlobalUsings.cs`** — Global MSTest using.
- **`TestModelBase.cs`** — Abstract base for test models with configuration support.
- **`JsonExtensionTests.cs`** — JSON extension method tests.

## Dependencies

| Dependency | Purpose |
|---|---|
| `MSTest` | Test framework |
| `MessagePack` | Serialization comparison |
| `MemoryPack` | Serialization comparison |
| `MongoDB.Bson` | BSON comparison |
