A very extensive set of extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style unit tests. Targets .NET Framework 4.7, as well as .NET Core 2.1, .NET Core 3.0, .NET 6, .NET Standard 2.0 and 2.1. Supports the unit test frameworks MSTest2, NUnit3, XUnit2, MSpec, and NSpec3.
Internal release needed to continue working on FluentAssertions.DataSets.
Internal release needed to continue working on FluentAssertions.DataSets.
Internal release needed to continue working on FluentAssertions.DataSets.
Be
, NotBe
and BeOneOf
for object comparisons with custom comparer by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2243
AssemblyAssertions
with HavePublicKey
and BeUnsigned
by @Corniel in https://github.com/fluentassertions/fluentassertions/pull/2207
NotContainItemsAssignableTo
by @Leo506 in https://github.com/fluentassertions/fluentassertions/pull/2266
ExcludingNestedObjects
by @dennisdoomen in https://github.com/fluentassertions/fluentassertions/pull/2211
HaveElement()
occurrence docs by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2217
IComparer<T>
overload by @ITaluone in https://github.com/fluentassertions/fluentassertions/pull/2220
GenericDictionaryEquivalencyStep
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2191
Full Changelog: https://github.com/fluentassertions/fluentassertions/compare/6.11.0...6.12.0
ThrowWithinAsync
assertions by @lg2de in https://github.com/fluentassertions/fluentassertions/pull/1974
WithoutStrictOrderingFor
overload with an expression by @chrischu in https://github.com/fluentassertions/fluentassertions/pull/2151
ToString
to format exceptions by @sdelarosbil in https://github.com/fluentassertions/fluentassertions/pull/2150
AssertionScope
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2133
NullReferenceException
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2154
Excluding()
work on nested collections if root is a collection by @whymatter in https://github.com/fluentassertions/fluentassertions/pull/2135
InvalidOperationException
when formatting lambda expression by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2176
binlog
file by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2127
Task
when inside using block by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2157
DataRowCollectionEquivalency
code coverage by @sdelarosbil in https://github.com/fluentassertions/fluentassertions/pull/2163
Full Changelog: https://github.com/fluentassertions/fluentassertions/compare/6.10.0...6.11.0
System.Net.Http
as a framework dependency by @AArnott in https://github.com/fluentassertions/fluentassertions/pull/2122
BeEquivalentTo
handles fields hiding base-class fields by @dennisdoomen in https://github.com/fluentassertions/fluentassertions/pull/1990
WithResult
extension by @lg2de in https://github.com/fluentassertions/fluentassertions/pull/2101
AssertionScope
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2103
lcov.info
does exist by @ITaluone in https://github.com/fluentassertions/fluentassertions/pull/2097
Build.cs
by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2093
ReportSummary
by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2116
int.Seconds(TimeSpan)
by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2119
DocumentationChanges
by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2100
Full Changelog: https://github.com/fluentassertions/fluentassertions/compare/6.9.0...6.10.0
BeOneOf
for IComparable
s and object comparisons. by @jez9999 in https://github.com/fluentassertions/fluentassertions/pull/2028
BeCloseTo()
/ NotBeCloseTo()
to TimeOnlyAssertions by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2030
ThatAre[Not]Abstract
, ThatAre[Not]Static
and ThatAre[Not]Virtual
to PropertyInfoSelector
by @94sedighi in https://github.com/fluentassertions/fluentassertions/pull/2054
ThatAre[Not]Abstract
to MethodInfoSelector
by @94sedighi in https://github.com/fluentassertions/fluentassertions/pull/2060
ThatAre[Not]Abstract
to TypeSelector
by @94sedighi in https://github.com/fluentassertions/fluentassertions/pull/2058
ThatAre[Not]Sealed
to TypeSelector.cs
by @94sedighi in https://github.com/fluentassertions/fluentassertions/pull/2059
ThatAre[Not]Interfaces
to TypeSelector.cs
by @94sedighi in https://github.com/fluentassertions/fluentassertions/pull/2057
OccurrenceConstraint
that reads more fluently by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2047
Imply()
to BooleanAssertions
by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2074
ThatAre[Not]ValueTypes
method to TypeSelector.cs
by @94sedighi in https://github.com/fluentassertions/fluentassertions/pull/2083
IsTuple()
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2079
IsRecord()
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2080
AssertionScope
s do not print inner scope reportables by @94sedighi in https://github.com/fluentassertions/fluentassertions/pull/2044
ThatArePublicOrInternal
to also look at the setter of properties by @Ruijin92 in https://github.com/fluentassertions/fluentassertions/pull/2082
PathMap
is currently not supported by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2067
Guard
helper by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2076
cSpell
to NUKE build pipeline by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/2086
EquatableOfInt
implement IComparable<T>
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/2036
DOTNET_CLI_UI_LANGUAGE
also inside targets by @ITaluone in https://github.com/fluentassertions/fluentassertions/pull/2092
Full Changelog: https://github.com/fluentassertions/fluentassertions/compare/6.8.0...6.9.0
ContainInConsecutiveOrder
and NotContainInConsecutiveOrder
by @StacyCash in https://github.com/fluentassertions/fluentassertions/pull/1963
NotCompleteWithinAsync
for Task assertions by @lg2de in https://github.com/fluentassertions/fluentassertions/pull/1967
TaskCompletionSource
by @lg2de in https://github.com/fluentassertions/fluentassertions/pull/1961
IMonitor
object to extensions methods. by @A-Kjeldgaard in https://github.com/fluentassertions/fluentassertions/pull/2010
BeEquivalentTo
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/1939
ContainInOrder
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/1960
IObjectInfo
with info about DeclaringType
by @dennisdoomen in https://github.com/fluentassertions/fluentassertions/pull/1950
AsyncFunctionAssertions
to make them protected in V7 by @lg2de in https://github.com/fluentassertions/fluentassertions/pull/1972
WithArgs
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/1929
Enum.BeOneOf
to the docs by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/1958
ModuleInitializer
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/1966
EquivalencyValidator
by @Wolgo in https://github.com/fluentassertions/fluentassertions/pull/1991
Equals
usage by @nycdotnet in https://github.com/fluentassertions/fluentassertions/pull/2006
ReadOnlyNonGenericCollectionWrapper
by @logiclrd in https://github.com/fluentassertions/fluentassertions/pull/1968
CollectionMemberObjectInfo
by @dennisdoomen in https://github.com/fluentassertions/fluentassertions/pull/1983
ShouldCompareMembersThisDeep
to ShouldCompareNodesThisDeep
by @Wolgo in https://github.com/fluentassertions/fluentassertions/pull/1992
Full Changelog: https://github.com/fluentassertions/fluentassertions/compare/6.7.0...6.8.0
BeDefined
and NotBeDefined
to EnumAssertions
by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/1888
System.Data
by @logiclrd in https://github.com/fluentassertions/fluentassertions/pull/1812
For
/Exclude
to allow exclusion of members inside a collection by @whymatter in https://github.com/fluentassertions/fluentassertions/pull/1782
HaveElement()
to be able to assert on occurrences for XDocument
and XElement
by @ITaluone in https://github.com/fluentassertions/fluentassertions/pull/1880
T
to the matching events, if one is found by @ITaluone in https://github.com/fluentassertions/fluentassertions/pull/1920
BeInRange
by @andrewlock in https://github.com/fluentassertions/fluentassertions/pull/1907
AssertionScope
by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/1890
null
with a wildcard by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/1889
null
check tests in Data*Specs by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/1899
Full Changelog: https://github.com/fluentassertions/fluentassertions/compare/6.6.0...6.7.0
DateOnly
struct by @iliashkolyar in https://github.com/fluentassertions/fluentassertions/pull/1844
TimeOnly
struct by @iliashkolyar in https://github.com/fluentassertions/fluentassertions/pull/1848
NullableBooleanAssertions
by NotBe()
by @mu88 in https://github.com/fluentassertions/fluentassertions/pull/1865
MatchRegex()
to assert on the number of regex matches by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/1869
[Not]MatchRegex
with [StringSyntax("Regex")]
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/1816
EnumAssertions.Be
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/1835
ExcludingMissingMembers
doesn't undo usage of WithMapping
by @dennisdoomen in https://github.com/fluentassertions/fluentassertions/pull/1838
WithMapping
now works in equivalency assertions on collections by @dennisdoomen in https://github.com/fluentassertions/fluentassertions/pull/1858
ComparingRecordsByMembers
by @kijanawoodard in https://github.com/fluentassertions/fluentassertions/pull/1809
AllItemsAreInstancesOfType
by @IT-VBFK in https://github.com/fluentassertions/fluentassertions/pull/1873
NullableDateOnlyAssertions
by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/1846
A_NaN_is_never_in_range_of_two_doubles
was exercising float
s by @jnyrup in https://github.com/fluentassertions/fluentassertions/pull/1852
StringAssertionSpecs
file by @eNeRGy164 in https://github.com/fluentassertions/fluentassertions/pull/1855
OccurrenceConstraint
by @eNeRGy164 in https://github.com/fluentassertions/fluentassertions/pull/1856
Full Changelog: https://github.com/fluentassertions/fluentassertions/compare/6.5.1...6.6.0