NFluent 3.0.0.351
See the version list below for details.
dotnet add package NFluent --version 3.0.0.351
NuGet\Install-Package NFluent -Version 3.0.0.351
<PackageReference Include="NFluent" Version="3.0.0.351" />
paket add NFluent --version 3.0.0.351
#r "nuget: NFluent, 3.0.0.351"
// Install NFluent as a Cake Addin #addin nuget:?package=NFluent&version=3.0.0.351 // Install NFluent as a Cake Tool #tool nuget:?package=NFluent&version=3.0.0.351
Release Notes (for this version)
V 3.0.0
Major changes
You can execute multiple check as a single batch and get every failures, instead of the first one. This can be achieved using:
Check.StartBatch
: stores the result of each subsequent check(s) and notifies all the errors when the returned object is disposed. Such as
using(Check.StartBatch())
{
Check.That(sut).....
Check.That(sut)....
}
Note that any actual exception thrown during the check phase will prevent any subsequent check from behind executed (1) and may not be reported as it may be replaced by an assertion failure exception. This comes from C# exeption handling logic.
You can provide anonymous types and tuples when using IsEqualTo against any type. The check will be made against all sut's propertie.
NFluent supports Net 3.5 SP1, Net. 4.5.2 +, Net Standard 2.0+. Dropped support for Net Framework 2.0, 3.0, and 4.0, as well Net Standard<2.0.
If you can't upgrade your framework version to a supported one, please use NFluent 2.8.0.
New Checks
Is
: Checks if sut == expected. This is a strongly typed equivalent toIsEqualTo
.IsGreaterOrEqualThan
: Checks if sut >= expected.IsLessOrEqualThan
: Checks if sut ⇐ expected.
New features
- You can provide custom comparer for any type, using
Check.RegisterComparer
like thisCheck.Register<MyType>(MyCustomComparer)
. You can also useRegisterLocalComparer
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.IsAnInstanceOf<nullableType>(null)
now fails (with an appropriate message). Previously, it did succeed. But, as expressed in issue #68, this behavior was due to a bug and kept as is to a poor error message when fixed (previously).The
IStructCheck<T>
interface has been removed as well as associated extensibility helper. Those were dedicated to valuetypes
, you can migrate your existing extensions to theICheck<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
- Improved reporting of differences for enumerations and dictionaries to make them more consistent and fixed some inaccuracies.
GitHub Issues
- #325, #327, #330, #332
Obsolete
Marked as obsolete
ThatAsyncCode
: you can now useThatCode
even for async methods.
Removed
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.
Check.ThatEnum
has been removed. You must useCheck.That
instead.IsPositive
(available for numbers): please useIsStrictlyPositive
instead.IsNegative
(available for numbers): please useIsStrictlyNegative
instead.IsLessThan
(available for numbers): please useIsStrictlyNegative
instead.IsGreaterThan
(available for numbers): please useIsStrictlyGreaterThan
instead.IsSameReferenceThan
: please useIsSameReferenceAs
instead.HasFieldsEqualToThose
: please useHasFieldsWithSameValues
instead.HasFieldsNotEqualToThose
: please useHasNotFieldsWithSameValues
instead.IsAFaillingCheckWithMessage
: please useIsAFailingCheckWithMessage
instead.IsAFaillingCheck
: please useIsAFailingCheck
instead.Properties
(available for enumeration): please useExtracting
instead.Checker.BuildLinkWhich
(used for custom extension): please useExtensibilityHelper.BuildCheckLinkWhich
instead.Checker.ExecuteCheckAndProvideSubItem
(used for custom extension): please 'ExtensibilityHelper' static class methods instead.ILambdaCheck
interface: the definition was kept to prevent breaking build, but it was no longer used. If this is a problem for you, open an issue
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. |
.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 | net35 is compatible. net40 was computed. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 is compatible. 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. |
-
.NETFramework 3.5
- No dependencies.
-
.NETFramework 4.6
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
NuGet packages (15)
Showing the top 5 NuGet packages that depend on NFluent:
Package | Downloads |
---|---|
Krosoft.Extensions.Testing
Package pour faciliter la mise en place de tests. |
|
Seeq.Link.SDK.TestFramework
Framework for performing standard tests of Seeq C# connnectors |
|
Suzianna.Core
A library for writing flexible and easy to maintain acceptance tests |
|
TestableHttpClient.NFluent
NFluent checks for checking HttpResponseMessages. |
|
iago.lib
Iago is a tool to write bdd like tests in kre. use `iago.runner` to execute your tests |
GitHub repositories (18)
Showing the top 5 popular GitHub repositories that depend on NFluent:
Repository | Stars |
---|---|
ReClassNET/ReClass.NET
More than a ReClass port to the .NET platform.
|
|
zzzprojects/System.Linq.Dynamic.Core
The .NET Standard / .NET Core version from the System Linq Dynamic functionality.
|
|
WireMock-Net/WireMock.Net
WireMock.Net is a flexible product for stubbing and mocking web HTTP responses using advanced request matching and response templating. Based on the functionality from http://WireMock.org, but extended with more functionality.
|
|
MarcosMeli/FileHelpers
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
|
|
WOA-Project/WoA-Installer-Rpi
This repository was deprecated, use:
|
Version | Downloads | Last updated |
---|---|---|
3.1.0 | 551 | 11/27/2024 |
3.0.4 | 121,756 | 3/19/2024 |
3.0.3 | 38,429 | 1/12/2024 |
3.0.3-beta | 488 | 12/13/2023 |
3.0.2.500 | 12,784 | 12/12/2023 |
3.0.2.327-beta | 1,564 | 10/13/2023 |
3.0.1.352 | 96,926 | 6/9/2023 |
3.0.0.351 | 28,715 | 5/6/2023 |
3.0.0.277-beta | 11,258 | 3/3/2022 |
3.0.0.270-beta | 747 | 2/27/2022 |
3.0.0.269-beta | 756 | 2/27/2022 |
3.0.0.268-beta | 741 | 2/24/2022 |
2.8.0 | 570,307 | 2/4/2022 |
2.7.2 | 270,024 | 4/8/2021 |
2.7.1 | 110,843 | 12/29/2020 |
2.7.0 | 334,923 | 2/11/2020 |
2.6.0 | 218,951 | 8/19/2019 |
2.5.0 | 173,554 | 3/12/2019 |
2.4.0 | 120,979 | 10/2/2018 |
2.3.1 | 94,442 | 6/12/2018 |
2.3.0 | 2,375 | 6/9/2018 |
2.2.0 | 93,450 | 2/10/2018 |
2.1.1 | 29,486 | 1/5/2018 |
2.1.0 | 12,508 | 12/10/2017 |
2.0.0 | 64,922 | 6/27/2017 |
2.0.0-alpha-44 | 2,569 | 5/10/2017 |
1.3.1 | 238,973 | 7/28/2014 |
1.2.0 | 9,341 | 6/16/2014 |
1.1.0 | 5,444 | 2/14/2014 |
1.0.0 | 8,596 | 12/31/2013 |
0.11.0 | 2,436 | 11/26/2013 |
0.9.0 | 2,490 | 8/6/2013 |
0.8.0 | 2,342 | 7/6/2013 |
0.7.0 | 2,174 | 6/4/2013 |
0.6.0 | 2,137 | 5/19/2013 |
0.5.0 | 2,165 | 4/21/2013 |
# V 3.0.0
## Major changes
* You can execute multiple check as a single batch and get every failures, instead of the first one. This can be achieved using:
* `Check.StartBatch`: stores the result of each subsequent check(s) and notifies all the errors when the returned object is disposed. Such as
`using(Check.StartBatch())
{
Check.That(sut).....
Check.That(sut)....
}`
Note that any actual exception thrown during the check phase will prevent any subsequent check from behind executed (1) and may not be reported as it may be replaced by an assertion failure exception.
This comes from C# exeption handling logic.
* You can provide anonymous types and tuples when using IsEqualTo against any type. The check will be made against all
_sut_'s propertie.
* NFluent supports Net 3.5 SP1, Net. 4.5.2 +, Net Standard 2.0+. Dropped support for Net Framework 2.0, 3.0, and 4.0, as well Net Standard<2.0.
If you can't upgrade your framework version to a supported one, please use NFluent 2.7.1.
## 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
* Improved rerporting of differences for enumerations and dictionaries to make them more consistent and fixed some inaccuracies.
## GitHub Issues
* #325, #327, #330, #332
### Obsolete
#### Marked as obsolet
* `ThatAsyncCode`: you can now use `ThatCode` even for async methods.
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.
* `Check.ThatEnum`has been removed. You must use `Check.That` instead.
* `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.8.0
## Breaking changes
* Removed typed overload for IsEqualTo. This may degrade autocompletion somewhat;
* Equality comparison logic has been slightly revised to take failing `Equals` result when the expected type provides a specific implementation (only success was used so far).
## New check
* Is : replaces the typed overload for IsEqualTo
## GitHub Issue
* #335
# V 2.7.2
## Fixes
* HasFieldWithSameValues resulted in false positive when string fields had the same value.
* IsZero failed for very small double (<1E-28) in previous versions.
* IsEquivalentTo was not permissive enougth for dictionaries.
## GitHub Issues
* #331, #333#
# 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