dupdobnightly - NFluent 2.7.0-beta-0213
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 (http://fest.easytesting.org/).
PM> Install-Package NFluent -Version 2.7.0-beta-0213 -Source https://www.myget.org/F/dupdobnightly/api/v3/index.json
> nuget.exe install NFluent -Version 2.7.0-beta-0213 -Source https://www.myget.org/F/dupdobnightly/api/v3/index.json
> dotnet add package NFluent --version 2.7.0-beta-0213 --source https://www.myget.org/F/dupdobnightly/api/v3/index.json
source https://www.myget.org/F/dupdobnightly/api/v3/index.json
nuget NFluent ~> 2.7.0-beta-0213
Copy to clipboard
> choco install NFluent --version 2.7.0-beta-0213 --source https://www.myget.org/F/dupdobnightly/api/v2
Import-Module PowerShellGet
Register-PSRepository -Name "dupdobnightly" -SourceLocation "https://www.myget.org/F/dupdobnightly/api/v2"
Install-Module -Name "NFluent" -RequiredVersion "2.7.0-beta-0213" -Repository "dupdobnightly" -AllowPreRelease
Copy to clipboard
V 2.7.0
New checks
- You can use IsCloseTo on DateTime and DateTimeOffset to check if a given date is close to a reference one.
Improvements
Check.That(IEnumerable).IsEquivalent(...) now uses default logic for equality check.
Significantly improved error messages for enumeration and dictionary equality comparison.
Restore typed IsEqualTo check. It should ensure smoother experience with autocompletion logic. Non typed version
(using Object as a parameter) is still available.
- You can use WhichMember to perform checks on any member of an exception.
Fixes
the Not operator no longer erases the custom message set using WithCustomMessage
Check.That(IDictionary).IsEquivalent now fails as expected when the sut has entries that do not exist in the expected dictionary.
IsEquivalent now performs deep equivalence. For example, it supports Dictionaries of Dictionaries
Enum properties are properly considered when using Considering.
Enumeration of KeyValue pairs are no longer treated as dictionaries but as enumeration. This behavior was a hack
to support custom IDictionary<K,V> implementations. Detection logic has been improved so this is no longer necessary.
GitHub Issues
- #306, #312, #313, #314, #315, #317
V 2.6.0
New feature
- NFluent now supports assumption through Assuming entry point. For example you express it as :Assume.That(sut).IsEqualTo(expected); in a nutshell
you type Assuming instead of Check. All checks are available. Note that actual support depends on the underlying testing framework. As of now
it is supported for NUnit and MsTest
- NFluent now supports DateTimeOffset type with the same gchecks than for DateTime. These checks fails
if the offsets are different. The IsSameUtcInstant cheks perform a comparison integrating the offset.
New checks
- You can use WhoseSize() to check the size of an enumeration. It is used as an extension keyword, as in:
Check.That(enum).WhoseSize().IsEqualTo(3)
Improvements
- When using the Equals method, NFluent now uses expected.Equals(actual) instead of actual.Equals(expected).
This should have limited impact.
Actual and expected value naming has been redesigned to improve naming accuracy. Impact vary depending on checks and types.
Comparison of enumeration now provides details regarding the differences. You can control
how many differences are reported using the property ExtensionsCommonHelpers.CountOfLineOfDetails.
- Cleaned up the reporting of array fields when using Considering. The superfluous dot (as in field.[index])
has been removed.
Improved implementation for Equals when using Considering. You should use IsEqualTo when checking for
equality, but we also provide an implementation of Equals as a failsafe.
Fixes
Fix issue with IEnumerable
Several error messages have been improved due to fix on check helpers.
NotSupportedException when using ContainsExactly on strings.
Fix issue with single dimension arrays and field based checks where the LAST item of the array was not evaluated during the check (issue found thanks to mutation test)
Comparing Array with considering was no different than when using IsEqualTo. This has been fixed.
Therefore error messages are now in line with what was expected
Extensibility
Foreword: several breaking changes have been introduced that may trigger build error in your custom extensions if you have made any.
Methods and types have been renamed, so your code will have to refer the new names. IF YOU ENCOUNTER ISSUES AND NEED ASSISTANCE, please open an issue, we will assist you ASAP.
All lambda/code specific interfaces (ICodeCheck
ICheckLogic.DefineExpectedValues now expects an generic IEnumerable
you can use ICheckLogic.DefinePossibleTypes if you need to have a list of possible types for the sut (displayed in the error message)
improved naming: ICheckLogic.DefineExpectedValues has been renamed DefinePossibleValues
checks helper (ICheckLogic) now correctly reports the fundamental error instead of a detail error. In previous version, the error messages could focus on details, e.g. report the
exception's message when the issue is the exception's type.
- add a flag (boolean) to BuildCheckLinkWhich method (allows to provide subitem check) that allows to speciyf sub item is available.
GitHub Issues
- #225, #291, #292, #295, #296, #297, #299, #302
- .NETFramework 2.0: 2.0.0.0
- .NETFramework 3.0: 3.0.0.0
- .NETFramework 3.5: 3.5.0.0
- .NETFramework 4.0: 4.0.0.0
- .NETFramework 4.5: 4.5.0.0
- .NETStandard 1.3: 1.3.0.0
- .NETStandard 2.0: 2.0.0.0
OwnersDupdob |
AuthorsThomas PIERRAIN, Cyrille DUPUYDAUBY, Rui CARVALHO, Marc-Antoine LATOUR |
Project URLhttp://www.n-fluent.net/ |
LicenseApache-2.0 |
Tagstdd bdd test fluent check checks easy nunit xunit mbunit mstestsucks |
Info263 total downloads |
19 downloads for version 2.7.0-beta-0213 |
Download (1.44 MB) |
Found on the current feed only |
Package history
Version | Size | Last updated | Downloads | Mirrored? | |||
---|---|---|---|---|---|---|---|
3.0.0-beta-0250 | 634.56 KB | Fri, 04 Feb 2022 15:10:23 GMT | 23 | ||||
3.0.0-beta-0246 | 640.28 KB | Wed, 13 Oct 2021 10:03:19 GMT | 21 | ||||
3.0.0-beta-0245 | 638.54 KB | Mon, 11 Oct 2021 21:43:04 GMT | 5 | ||||
3.0.0-beta-0244 | 638.07 KB | Mon, 11 Oct 2021 13:07:00 GMT | 3 | ||||
3.0.0-beta-0241 | 628.11 KB | Tue, 22 Jun 2021 07:44:49 GMT | 2 | ||||
3.0.0-beta-0238 | 774.62 KB | Tue, 16 Feb 2021 21:16:51 GMT | 64 | ||||
3.0.0-beta-0237 | 773.02 KB | Sat, 13 Feb 2021 15:06:07 GMT | 5 | ||||
3.0.0-beta-0236 | 764.76 KB | Sun, 24 Jan 2021 15:23:35 GMT | 5 | ||||
3.0.0-beta-0223 | 764.58 KB | Wed, 16 Dec 2020 21:28:20 GMT | 3 | ||||
3.0.0-beta-0222 | 761.9 KB | Thu, 22 Oct 2020 07:46:33 GMT | 7 | ||||
3.0.0-beta-0220 | 761.89 KB | Wed, 14 Oct 2020 07:22:28 GMT | 21 | ||||
3.0.0-beta-0216 | 761.89 KB | Tue, 13 Oct 2020 13:59:47 GMT | 20 | ||||
3.0.0-beta-0214 | 756.99 KB | Thu, 23 Jul 2020 07:02:28 GMT | 4 | ||||
2.7.0-beta-0213 | 1.44 MB | Wed, 29 Jan 2020 06:07:43 GMT | 19 | ||||
2.6.0-beta-0197 | 1.3 MB | Fri, 03 May 2019 07:05:26 GMT | 3 | ||||
2.5.1-beta-0194 | 1.24 MB | Fri, 22 Mar 2019 21:38:54 GMT | 5 | ||||
2.4.0-beta-0187 | 881.53 KB | Thu, 06 Sep 2018 20:18:31 GMT | 5 | ||||
2.4.0-beta-0186 | 881.49 KB | Thu, 06 Sep 2018 12:51:55 GMT | 5 | ||||
2.4.0-beta-0183 | 760.05 KB | Thu, 19 Jul 2018 15:57:18 GMT | 21 | ||||
2.4.0-beta-0182 | 758.11 KB | Wed, 18 Jul 2018 13:18:25 GMT | 22 |