NFluent 2.3.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package NFluent --version 2.3.1
                    
NuGet\Install-Package NFluent -Version 2.3.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NFluent" Version="2.3.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NFluent" Version="2.3.1" />
                    
Directory.Packages.props
<PackageReference Include="NFluent" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NFluent --version 2.3.1
                    
#r "nuget: NFluent, 2.3.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=NFluent&version=2.3.1
                    
Install NFluent as a Cake Addin
#tool nuget:?package=NFluent&version=2.3.1
                    
Install NFluent as a Cake Tool

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/).

Product 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 netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.3 is compatible.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net20 is compatible.  net30 is compatible.  net35 is compatible.  net40 is compatible.  net403 was computed.  net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  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 tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has 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

NFluent.Json

Package Description

Suzianna.Core

A library for writing flexible and easy to maintain acceptance tests

TestableHttpClient.NFluent

NFluent checks for checking HttpResponseMessages.

GitHub repositories (18)

Showing the top 18 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/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:
Doraku/DefaultEcs
Entity Component System framework aiming for syntax and usage simplicity with maximum performance for game development.
msarilar/EDEngineer
An overlay to track Elite Dangerous blueprints progress in real time
b3b00/csly
a C# embeddable lexer and parser generator (.Net core)
tpierrain/NFluent
Smooth your .NET TDD experience with NFluent! NFluent is an ergonomic assertion library which aims to fluent your .NET TDD experience (based on simple Check.That() assertion statements). NFluent aims your tests to be fluent to write (with a super-duper-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 also directly inspired by the awesome Java FEST Fluent assertion/reflection library (http://fest.easytesting.org/)
EricZimmerman/evtx
C# based evtx parser with lots of extras
mareek/UUIDNext
A fast and modern .NET library to generate UUID/GUID that are either sequential and database friendly (versions 7), name based (versions 5) or random (version 4).
EricZimmerman/Registry
Full featured, offline Registry parser in C#
Doraku/DefaultDocumentation
Create a simple markdown documentation from the Visual Studio xml one.
takenet/textc-csharp
Textc is a natural language processing library that allows developers build text command based applications with extensible text parsing capabilities.
EricZimmerman/AmcacheParser
Parses amcache.hve files, but with a twist!
StefH/SimMetrics.Net
SimMetrics is a Similarity Metric Library, e.g. from edit distance's (Levenshtein, Gotoh, Jaro etc) to other metrics, (e.g Soundex, Chapman). This library support multiple .NET versions including .NET Core (NETStandard 1.x)
tpierrain/hexagonalThis
A simple kata to live-code with Alistair about Hexagonal Architecture
EricZimmerman/AppCompatCacheParser
AppCompatCache (shimcache) parser. Supports Windows 7 (x86 and x64), Windows 8.x, and Windows 10
Version Downloads Last updated
3.1.0 102,116 11/27/2024
3.0.4 204,527 3/19/2024
3.0.3 52,506 1/12/2024
3.0.3-beta 504 12/13/2023
3.0.2.500 15,175 12/12/2023
3.0.2.327-beta 1,582 10/13/2023
3.0.1.352 116,200 6/9/2023
3.0.0.351 30,258 5/6/2023
3.0.0.277-beta 12,237 3/3/2022
3.0.0.270-beta 817 2/27/2022
3.0.0.269-beta 824 2/27/2022
3.0.0.268-beta 810 2/24/2022
2.8.0 629,801 2/4/2022
2.7.2 278,901 4/8/2021
2.7.1 120,546 12/29/2020
2.7.0 349,530 2/11/2020
2.6.0 226,076 8/19/2019
2.5.0 178,370 3/12/2019
2.4.0 125,477 10/2/2018
2.3.1 95,957 6/12/2018
2.3.0 2,564 6/9/2018
2.2.0 95,715 2/10/2018
2.1.1 30,791 1/5/2018
2.1.0 12,722 12/10/2017
2.0.0 65,684 6/27/2017
2.0.0-alpha-44 2,745 5/10/2017
1.3.1 249,113 7/28/2014
1.2.0 9,490 6/16/2014
1.1.0 5,659 2/14/2014
1.0.0 10,918 12/31/2013
0.11.0 2,592 11/26/2013
0.9.0 2,645 8/6/2013
0.8.0 2,496 7/6/2013
0.7.0 2,328 6/4/2013
0.6.0 2,294 5/19/2013
0.5.0 2,319 4/21/2013

## V 2.3.1

---------------

### Fixes

* NullReferenceException on failed check using xUnit and NetCore

### GitHub Issues

* #251

------

## V 2.3.0

---------------

### Main feature: redesigned extensibility

One of the fundamental features of NFluent is that you can add your own checks.

Articles explained how to do that, but syntax was still too cumbersome

for our taste. This version brings major improvements detailed here:

* Simplified support for creating custom checks thanks to new helper methods

and classes (see https://github.com/tpierrain/NFluent/wiki/Extensibility)

* Customization of error reporting: by default, any check failure is reported

by raising an exception. You can now provide your own reporting system. You need to provide an implementation

of IErrorReporter interface, and specify you want to use it by setting the Check.Reporter interface.

### Other New features(s)

* IsNullOrWhiteSpace: checks if a string is null, empty or contains only white space(s).

* IReadOnlyDictionary (_Net 4.5+_)

* ContainsKey, ContainsValue, ContainsPair are supported.

* async method/delegates

* Check.ThatCode now supports _async_ methods/delegates transparently.

* Check expression now provides the result as a string. I.e Check.That(true).IsTrue().ToString() returns "Success".

* New check: IsDefaultValue, which fails if the sut is not the default value for its type: null for ref types, 0 for value types.

* New check: ContainsNoDuplicateItem for enumerable, that fails of it contains a dupe.

* New check: IsEquivalentTo for enumerable, that checks if its contents match an expected content, disregarding order.

* New check: DoesNotContainNull for enumerable, that fails if an entry is null.

* New check: IsAnInstanceOfOneOf that checks if the sut is of one of exptected types.

* New check: IsNotAnInstanceOfThese that checks if the sut type is different from a list of forbidden types.

* New check: DueToAnyFrom(...) that checks that an exception has been triggered by another exception from a list of possible types.

### Fixes

* Check.ThatCode(...).Not.Throws\<T\>() may throw an InvalidCastException when thrown exception is not T.

* Extension checks to Throw\<\>, ThrowType or ThrowAny raise an exception when used with Not as it does not make sense.

* Which() raises an exception when used on a negated check (Not).

* Fix exception when using Considering and indexed properties.

* Fix loss of type when using Contains and ContainsExactly. This restores fluentness for IEnumerable<T> types.

Fixed error messages for double (and float) equality check that reported checked value in place of the expected one.

* Fixed error messages for Check.That(TimeSpan).IsGreaterThan

* False positive whith Considering() or HasFieldsWithSameValues when haing ints and enum attributes with the same value.

### Changes

* Improved error messages

* ContainsOnlyElementsThatMatch: now provides the index and value of the first failing value.

* IsOnlyMadeOf: improved error messages

* DateTime checks: revamped all messages

* Enum: error message on enum types now use 'enum' instead of 'value'.

* IsInstanceOf: be more specific regarding types

* Considering()...IsNull/IsNotNull: error messages specify member triggering the failure.

* Breaking

* Added automatic conversion between decimal and other numerical types. Check.That(100M).IsEqualTo(100) no longer fails.

* Removed Failure method from IChecker interface

### GitHub Issues

* #228, #227, #222, #223, #217, #230, #232,

* #236, #238, #242, #243, #244, #245, #246,

* #231, #247, #161, #249

------