NFluent 3.0.0-alpha-0002

This is a prerelease version of NFluent.
Install-Package NFluent -Version 3.0.0-alpha-0002
dotnet add package NFluent --version 3.0.0-alpha-0002
<PackageReference Include="NFluent" Version="3.0.0-alpha-0002" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NFluent --version 3.0.0-alpha-0002
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NFluent, 3.0.0-alpha-0002"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install NFluent as a Cake Addin
#addin nuget:?package=NFluent&version=3.0.0-alpha-0002&prerelease

// Install NFluent as a Cake Tool
#tool nuget:?package=NFluent&version=3.0.0-alpha-0002&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

NFluent is an ergonomic check library which aims to fluent your .NET TDD experience (based on simple Check.That() check statements). NFluent aims your tests to be fluent to write (with an happy 'dot' auto completion experience), fluent to read (i.e. as close as possible to plain English expression), but also fluent to troubleshoot, in a less-error-prone way comparing to the classical .NET test frameworks. NFluent is directly, but also freely, inspired by the awesome Java FEST fluent check/reflection library (

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETFramework 3.5

    • No dependencies.
  • .NETFramework 4.6

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (7)

Showing the top 5 NuGet packages that depend on NFluent:

Package Downloads

Iago is a tool to write bdd like tests in kre. use `iago.runner` to execute your tests


NFluent checks for checking HttpResponseMessages.


Iago runner is a tool to run bdd like tests in kre


A library for writing flexible and easy to maintain acceptance tests


Parses offline registry hives

GitHub repositories (12)

Showing the top 5 popular GitHub repositories that depend on NFluent:

Repository Stars
More than a ReClass port to the .NET platform.
The FileHelpers are a free and easy to use .NET library to read/write data from fixed length or delimited records in files, strings or streams
This repository was deprecated, use:
WireMock.Net is a flexible library for stubbing and mocking web HTTP responses using advanced request matching and response templating. Based on the functionality from, but extended with more functionality.
An overlay to track Elite Dangerous blueprints progress in real time
Version Downloads Last updated
3.0.0-alpha-0002 678 9/28/2021
2.7.2 79,538 4/8/2021
2.7.1 60,193 12/29/2020
2.7.0 187,938 2/11/2020
2.6.0 137,534 8/19/2019
2.5.0 117,007 3/12/2019
2.4.0 95,221 10/2/2018
2.3.1 70,094 6/12/2018
2.3.0 1,346 6/9/2018
2.2.0 56,360 2/10/2018
2.1.1 23,037 1/5/2018
2.1.0 11,051 12/10/2017
2.0.0 59,413 6/27/2017
2.0.0-alpha-44 1,679 5/10/2017
1.3.1 186,591 7/28/2014
1.2.0 8,304 6/16/2014
1.1.0 4,112 2/14/2014
1.0.0 1,783 12/31/2013
0.11.0 1,444 11/26/2013
0.9.0 1,535 8/6/2013
0.8.0 1,399 7/6/2013
0.7.0 1,210 6/4/2013
0.6.0 1,153 5/19/2013
0.5.0 1,218 4/21/2013

# V 3.0.0

## Major changes

* You can provide anonymous types and tuples when using IsEqualTo against any type. The check will be made against all

_sut_'s propertie.

* Dropped support for Net Framework 2.0, 3.0, and 4.0. NFluent supports Net 3.5 SP1, Net. 4.5.2 +, Net Standard 1.3+ and Net Standard 2.0+.

If you can't upgrade your framework version to a supported one, please use NFluent 2.7.1.

* `Check.ThatEnum`has been removed. You must use `Check.That` instead.

## New Checks

* `Is`: Checks if _sut == expected_. This is a strongly typed equivalent to `IsEqualTo`.

* `IsGreaterOrEqualThan`: Checks if _sut_ >= _expected_.

* `IsLessOrEqualThan`: Checks if _sut_ <= _expected_.

## New feautres

* You can provide custom comparer for any type, using `Check.RegisterComparer` like this `Check.Register<MyType>(MyCustomComparer)`.

You can also use `RegisterLocalComparer` to limit its usage to a declaration scope.

## Breaking changes

* Equality logic changed for `IDictionary`: dictionaries are considered equals if they have the same keys and

the same values for each key. In NFluent V2, entries needed to be declared in the some order or else they were considered as **different** but **equivalent**.

* You need to specify

* `IsAnInstanceOf<nullableType>(null)` now fails (with an appropriate message). Previously, it did succeed. But,

as captured in issue #68, this behavior was triggered by a bug and kept due to a poor error message when fixed.

* The `IStructCheck<T>` interface has been removed as well as associated extensibility helper. Those were dedicated

to value `types`, you can migrate your existing extensions to the `ICheck<T>` type instead. Please open an issue if

you need help.

## Fixes

* HasFieldWithSameValues resulted in false positive when string fields had the same value.

* IsNotEqualTo now properly preserves expected type

* Ilmproved rerporting of differences for enumerations and dictionaries to make them more consistent and fixed some inaccuracies.

# GitHub Issues

* #325, #327, #330, #332

### Obsolete

Here is the list of methods, classes and other obsolete stuff that have been removed in this version as well

as workaround advices.

* Drop support for Net 2.0 and 3.0: keep using NFluent V2.x versions if you support for these.

* `ILambdaCheck`: the definition was kept to prevent breaking build, but it was no longer used. If this is a

problem for you, open an issue

* `IsPositive` (available for numbers): please use `IsStrictlyPositive` instead.

* `IsNegative` (available for numbers): please use `IsStrictlyNegative` instead.

* `IsLessThan` (available for numbers): please use `IsStrictlyNegative` instead.

* `IsGreaterThan` (available for numbers): please use `IsStrictlyGreaterThan` instead.

* `IsSameReferenceThan`: please use `IsSameReferenceAs` instead.

* `HasFieldsEqualToThose`: please use `HasFieldsWithSameValues` instead.

* `HasFieldsNotEqualToThose`: please use `HasNotFieldsWithSameValues` instead.

* `IsAFaillingCheckWithMessage`: please use `IsAFailingCheckWithMessage` instead.

* `IsAFaillingCheck`: please use `IsAFailingCheck` instead.

* `Properties` (available for enumeration): please use `Extracting` instead.

* `Checker.BuildLinkWhich` (used for custom extension): please use `ExtensibilityHelper.BuildCheckLinkWhich` instead.

* `Checker.ExecuteCheckAndProvideSubItem` (used for custom extension): please 'ExtensibilityHelper' static class methods instead.

# V 2.7.1

# Fixes

* HasFieldsWithSameValues failed to properly compare when the expected value contained duplicate string.

More generally, instances where only checked once for equality; any subsequent check was assumed to be succesful.

This could lead to false positive (i.e. checks succeeded when it should have failed).

This regression was introduced by V 2.2.0 in 02/2018. Sorry about that.

# GitHub Issues

* #331