Ploch.TestingSupport.FluentAssertions
4.0.47
dotnet add package Ploch.TestingSupport.FluentAssertions --version 4.0.47
NuGet\Install-Package Ploch.TestingSupport.FluentAssertions -Version 4.0.47
<PackageReference Include="Ploch.TestingSupport.FluentAssertions" Version="4.0.47" />
<PackageVersion Include="Ploch.TestingSupport.FluentAssertions" Version="4.0.47" />
<PackageReference Include="Ploch.TestingSupport.FluentAssertions" />
paket add Ploch.TestingSupport.FluentAssertions --version 4.0.47
#r "nuget: Ploch.TestingSupport.FluentAssertions, 4.0.47"
#:package Ploch.TestingSupport.FluentAssertions@4.0.47
#addin nuget:?package=Ploch.TestingSupport.FluentAssertions&version=4.0.47
#tool nuget:?package=Ploch.TestingSupport.FluentAssertions&version=4.0.47
Ploch.TestingSupport.FluentAssertions
Overview
Library provides extension methods and equivalency helpers for the FluentAssertions library.
Features
NullEmptyCollectionEquivalencyStep
A custom IEquivalencyStep that treats a null collection as
equivalent to an empty collection (and vice versa) during BeEquivalentTo comparisons.
Why this is useful: Object graphs often have collection properties that one side leaves null while the other
initialises to an empty collection. A typical example is EF Core: a navigation collection that was not eager-loaded via
Include() remains null, whereas an in-memory test entity usually initialises it to new List<T>(). Without this
step, FluentAssertions reports a false negative.
The step only intercedes when one side is null and the other is an empty IEnumerable (strings are explicitly
excluded — a null string is not treated as equivalent to ""). All other cases pass through to the rest of the
equivalency pipeline, preserving configured options such as DateTimeOffset tolerance and cyclic-reference handling.
Usage:
using Ploch.TestingSupport.FluentAssertions;
actual.Should().BeEquivalentTo(expected,
options => options.Using(new NullEmptyCollectionEquivalencyStep()));
StringAssertionExtensions.ContainAllEquivalentOf
Asserts that a string contains all of the specified values, ignoring case.
"Hello World".Should().ContainAllEquivalentOf("hello", "WORLD");
PropertyInfoCollectionExtensions.ContainProperty / ContainProperties
Assert that a PropertyInfo collection contains a property (or properties) with matching names and that those
properties can be read from a given source object.
typeof(MyClass).GetProperties().Should().ContainProperties(new[] { "Id", "Name" }, instance);
| 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 was computed. 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 was computed. 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
- FluentAssertions (>= 8.10.0)
- Ploch.Common (>= 4.0.47)
- TestableIO.System.IO.Abstractions (>= 22.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.47 | 37 | 9/3/2026 |
| 2.0.1 | 362 | 1/9/2024 |
| 1.2.0.1 | 275 | 10/6/2023 |
| 1.1.0.63-Preview | 278 | 4/4/2023 |
| 1.1.0.61-Preview | 284 | 4/4/2023 |
| 1.1.0.50-Preview | 276 | 3/30/2023 |
| 1.1.0.47-Preview | 277 | 3/26/2023 |
| 1.1.0.43-Preview | 288 | 12/10/2022 |
| 1.1.0.41-Preview | 279 | 12/10/2022 |
| 1.1.0.19-Preview | 417 | 7/14/2021 |
| 1.1.0.18-Preview | 407 | 7/14/2021 |
| 1.1.0.17-Preview | 424 | 7/14/2021 |
| 1.1.0.16-Preview | 400 | 7/14/2021 |
| 1.1.0.15-Preview | 406 | 7/14/2021 |
| 1.1.0.14-Preview | 395 | 7/14/2021 |
| 1.1.0.13 | 639 | 3/24/2021 |
| 1.1.0.11-Preview | 482 | 3/19/2021 |
| 1.1.0.10-Preview | 512 | 3/19/2021 |
| 1.1.0.9-Preview | 441 | 3/18/2021 |
| 1.1.0.8-Preview | 427 | 3/18/2021 |