34Tests & verification
xUnit test suite
Parser, rendering, fonts, shaping, binding, print jobs, export, object model, connections, printer commands, settings – dotnet test runs in a few seconds.
Barcodes are read back
Every ported encoder (postal codes, Codablock F, Code 16K/49, PDF417/MicroPDF417, Han Xin, DotCode, Ultracode, rMQR, QR variants, Data Matrix, Aztec, GS1, Composite …) is verified bit-exact against bwip-js (zint ports against zint) – including all 7 GS1 DataBar variants with 80 dedicated reference cases – and the reference matrices are in the tests. Where ZXing.Net knows the symbology, the barcode is additionally decoded.
Databases
EF Core with SQLite (in-memory, 2000 rows) and LiteDB (typed + BsonDocument) in the unit tests, SQL Server 2022, PostgreSQL and MongoDB via Testcontainers in tests/ZplCore.IntegrationTests; samples/MassDataDemo generates the sample jobs.
Checking tools, MCP & packages
Own suites for ZplCore.Testing, the MCP server (including adversarial, fuzz and end-to-end tests of the sandbox) and Vector-Lift; compliance, scan-proof, import, extraction, GS1, RFID, printer twin and the chaos printer in the main suite. build/package-smoke.sh packs the NuGet packages and publishes a test app (also win-x64), build/aot-smoke.sh compares JIT and NativeAOT output.
This documentation
All screenshots are generated by samples/DocsGenerator from real ZPL/EPL or the barcode API; all C# examples live in compilable form in samples/DocsExamples and are copied verbatim into this page by the generator.
dotnet test # all tests dotnet run --project samples/LabelaryCompare # pixel comparison against Labelary references dotnet run --project samples/DocsGenerator # docs/img, docs/zpl, docs/files, docs/examples.js, C# snippets dotnet build samples/DocsExamples # compile check of the docs snippets build/package-smoke.sh # NuGet packages + test app (Windows publish included) build/aot-smoke.sh # JIT against NativeAOT output

