eQuantic.Validation.Testing
2.2.0
dotnet add package eQuantic.Validation.Testing --version 2.2.0
NuGet\Install-Package eQuantic.Validation.Testing -Version 2.2.0
<PackageReference Include="eQuantic.Validation.Testing" Version="2.2.0" />
<PackageVersion Include="eQuantic.Validation.Testing" Version="2.2.0" />
<PackageReference Include="eQuantic.Validation.Testing" />
paket add eQuantic.Validation.Testing --version 2.2.0
#r "nuget: eQuantic.Validation.Testing, 2.2.0"
#:package eQuantic.Validation.Testing@2.2.0
#addin nuget:?package=eQuantic.Validation.Testing&version=2.2.0
#tool nuget:?package=eQuantic.Validation.Testing&version=2.2.0
eQuantic.Validation.Testing
Test helpers for eQuantic.Validation: TestValidate with chainable, framework-agnostic assertions over structured failures. Works with NUnit, xUnit, MSTest and TUnit — failed assertions throw ValidationAssertionException with the full list of actual failures.
dotnet add package eQuantic.Validation.Testing
using eQuantic.Validation.Testing;
var validator = new CreateCustomerValidator();
// Paths as typed expressions or strings, refined by code, severity, message or arguments:
validator.TestValidate(new CreateCustomer(Name: "", Email: "nope", Age: 15))
.ShouldBeInvalid()
.ShouldHaveFailureFor(x => x.Email).WithCode("customer.email.invalid");
validator.TestValidate(valid)
.ShouldBeValid()
.ShouldNotHaveFailureFor(x => x.Email);
// Scenarios and async rules:
var result = await validator.TestValidateAsync(customer, "create");
result.ShouldHaveFailureWithCode("customer.email.taken").WithSeverity(ValidationSeverity.Error);
// Rule arguments are part of the failure model, so tests never match on message strings:
validator.TestValidate(new CreateCustomer(Name: "A", ...))
.ShouldHaveFailureFor("Name").WithArgument("MinimumLength", 2).Exactly(1);
Assertions match failures of any severity; ShouldBeValid follows the engine semantics (warnings do not block). Nested and collection paths use the canonical form: "Address.PostalCode", "Contacts[0].Email".
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- eQuantic.Validation (>= 2.2.0)
-
net10.0
- eQuantic.Validation (>= 2.2.0)
-
net8.0
- eQuantic.Validation (>= 2.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release: TestValidate/TestValidateAsync with chainable failure assertions.