FluentAssertions 2.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package FluentAssertions --version 2.1.0
                    
NuGet\Install-Package FluentAssertions -Version 2.1.0
                    
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="FluentAssertions" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FluentAssertions" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="FluentAssertions" />
                    
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 FluentAssertions --version 2.1.0
                    
#r "nuget: FluentAssertions, 2.1.0"
                    
#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.
#:package FluentAssertions@2.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FluentAssertions&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=FluentAssertions&version=2.1.0
                    
Install as a Cake Tool

A very extensive set of extension methods that allow you to more naturally specify the expected outcome of a TDD or
     BDD-style unit test. Runs on .NET 3.5, 4.0 and 4.5 (Desktop and Windows Store), Silverlight 4 and 5 and Windows Phone 7.5 and 8. Supports the unit test frameworks NUnit, XUnit, MBUnit, Gallio and MSpec.

Product Compatible and additional computed target framework versions.
.NET Framework 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. 
Silverlight sl4 is compatible.  sl4-wp71 is compatible.  sl5 was computed. 
WinRT winrt45 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

GitHub repositories (811)

Showing the top 20 popular GitHub repositories that depend on FluentAssertions:

Repository Stars
DevToys-app/DevToys
A Swiss Army knife for developers.
microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps
jasontaylordev/CleanArchitecture
Clean Architecture Solution Template for ASP.NET Core
Jackett/Jackett
API Support for your favorite torrent trackers
duplicati/duplicati
Store securely encrypted backups in the cloud!
kgrzybek/modular-monolith-with-ddd
Full Modular Monolith application with Domain-Driven Design approach.
Sonarr/Sonarr
Smart PVR for newsgroup and bittorrent users.
Radarr/Radarr
Movie organizer/manager for usenet and torrent users.
coding-horror/basic-computer-games
An updated version of the classic "Basic Computer Games" book, with well-written examples in a variety of common MEMORY SAFE, SCRIPTING programming languages. See https://coding-horror.github.io/basic-computer-games/
chocolatey/choco
Chocolatey - the package manager for Windows
restsharp/RestSharp
Simple REST and HTTP API Client for .NET
nopSolutions/nopCommerce
ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
Cysharp/UniTask
Provides an efficient allocation free async/await integration for Unity.
unoplatform/uno
Open-source platform for building cross-platform native Mobile, Web, Desktop and Embedded apps quickly. Create rich, C#/XAML, single-codebase apps from any IDE. Hot Reload included! 90m+ NuGet Downloads!!
felixse/FluentTerminal
A Terminal Emulator based on UWP and web technologies.
bchavez/Bogus
:card_index: A simple fake data generator for C#, F#, and VB.NET. Based on and ported from the famed faker.js.
Tyrrrz/DiscordChatExporter
Exports Discord chat logs to a file
litedb-org/LiteDB
LiteDB - A .NET NoSQL Document Store in a single data file
Richasy/Bili.Uwp
适用于新系统UI的哔哩
reactiveui/ReactiveUI
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.
Version Downloads Last Updated
3.3.0 87,036 2/18/2015
3.2.2 57,369 12/12/2014
3.2.1 76,747 9/11/2014
3.1.229 35,769 7/29/2014
3.0.107 44,860 4/30/2014
2.2.0 49,859 12/30/2013
2.1.0 28,905 8/23/2013
2.0.1 25,459 3/3/2013
2.0.0.1 10,694 10/15/2012
1.7.1.1 5,865 3/24/2012
1.7.0 482 1/13/2012
1.6.0 629 10/31/2011
1.5.0 556 6/29/2011
1.4.0 274 3/14/2011
1.3.0.1 195 1/15/2011

What are the major features
     * Added support for Windows Phone 8 test projects, both using the Visual Studio 2010 test harnass, as well as the new MSTest based framework introduced in Visual Studio 2012 Update 2 (#12470)
     * Added support for AggregateExceptions in .NET 4.0 or newer so that aggregated exceptions are treated the same way as normal exceptions. This also allows you to use Should(Not)Throw() to assert a specific exception has occurred (or not), even if it is wrapped in an AggregateException (#12482).
     * ShouldBeEquivalent() will attempt to report all differences rather than just the first one. It also supports nested dictionaries (#12472).
     * By default the order of items in (nested) collections is ignored while asserting the equivalency of two object graphs. You can override this using the WithStrictOrder()/WithStrictOrderFor() options, with or without a specific path or predicate. Notice that for performance reasons, collections of bytes are still compared in exact order (#12484).

     What other improvements are new
     * Added support for asserting a method is decorated with a certain attribute (by Nathan Roe)
     * Added BeWritable() to the property info assertions .
     * XName support for all XML-related assertiosn (#12453 by Igor Khavkin)
     * Added Should().BeApproximately() for decimal values.
     * Added support for ShouldNotThrow() on Func<Task> so that you can verify that asynchronous functions threw a task (by Igor Khavkin)
     * Ensured that all reference type assertions inherit from ReferenceTypeAssertions so that they all share some basic methods like (Not)BeNull.
     * Added support for string.Should().NotStartWith() and string.Should().NotEndWith(). Also added the case-insensitive versions of them. (#12441)
     * Allowed adding, removing and/or reordering the steps the EquivalencyValidator executes while comparing two object graphs for structural equality.
     * By default, the exception message assertions are based on wildcards and case-insensitive. The ComparisonMode enum has been marked obsolete.

     Bug fixes
     * Added catching of FileLoadExceptions so AttributeBasedFormatter will not crash on certain circumstances.
     * Made test framework detection based on assembly scanning case insensitive (#12483)
     * Fixed a type-mismatch error when two nullable properties were compared using an AssertionRule.
     * The method collection.ShouldBeEquivalent() ignored duplicates in the expectation.
     * Applied a small improvement by Groostav to collection.HaveCount() because it was counting collections through LINQ Count() even though it has a normal Count property (#12469).
     * Comparing a null collection with another null collection will now succeed (#12490)
     * When a type was generic, FA wouldn't display its properties in assertion failures (#12492)
     * On Mono, the AttributeBasedFormatter sometimes throws a NullReferenceException, but this has been fixed by Frank Ebersoll (#12487).
     * During a structural equality check, FA would incorrectly decide to include protected properties in the comparison. This has been fixed now (#12486).
     * FA chocked on properties overriden using the new keyword. Now it just tries to be smart about it and select the one which type matches the subject (#12481).
     * When a floating point value representing NaN was compared with another approximate value, it didn't throw (#12479).
     * Improved the details of any unexpected exceptions during the ShouldThrow() and ShouldNotThrow() methods (#12473).
     * Collection.ShouldBeInAscendingOrder() wasn't reporting the correct index if an item appeared out-of-order (#12468).

     Breaking changes
     * Renamed the Execute.Verification property to Execute.Assertion and introduced an internal AssertionScope.