OrionKey.Testing
0.4.1
See the version list below for details.
dotnet add package OrionKey.Testing --version 0.4.1
NuGet\Install-Package OrionKey.Testing -Version 0.4.1
<PackageReference Include="OrionKey.Testing" Version="0.4.1" />
<PackageVersion Include="OrionKey.Testing" Version="0.4.1" />
<PackageReference Include="OrionKey.Testing" />
paket add OrionKey.Testing --version 0.4.1
#r "nuget: OrionKey.Testing, 0.4.1"
#:package OrionKey.Testing@0.4.1
#addin nuget:?package=OrionKey.Testing&version=0.4.1
#tool nuget:?package=OrionKey.Testing&version=0.4.1
OrionKey.Testing
Deterministic ID generators for testing code that uses OrionKey strongly-typed IDs.
OrionKey's default generators produce random or time-based ids, which makes assertions on generated values awkward. This package swaps them for deterministic, repeatable sequences so the ids minted under test are predictable.
Quick start
dotnet add package OrionKey.Testing
Usage
Wrap the code under test in a DeterministicIdScope. For the lifetime of the scope,
OrionKey's process-wide generators hand out ascending, repeatable ids; disposing the scope
restores the normal generators.
using Moongazing.OrionKey.Testing;
using (new DeterministicIdScope())
{
var first = OrderId.New();
var second = OrderId.New();
// first and second are deterministic and ascending
}
Because the scope mutates process-wide state, tests that use it must not run in parallel with each other or with code that generates ids.
OrionKey.Testing is released under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.