DeepEqual 5.1.0
See the version list below for details.
dotnet add package DeepEqual --version 5.1.0
NuGet\Install-Package DeepEqual -Version 5.1.0
<PackageReference Include="DeepEqual" Version="5.1.0" />
<PackageVersion Include="DeepEqual" Version="5.1.0" />
<PackageReference Include="DeepEqual" />
paket add DeepEqual --version 5.1.0
#r "nuget: DeepEqual, 5.1.0"
#:package DeepEqual@5.1.0
#addin nuget:?package=DeepEqual&version=5.1.0
#tool nuget:?package=DeepEqual&version=5.1.0
DeepEqual
DeepEqual is an extensible deep equality comparison library.
Installing
Install via NuGet (https://www.nuget.org/packages/DeepEqual/)
Install-Package DeepEqual
Usage
To test equality simply call the IsDeepEqual extension method.
bool result = object1.IsDeepEqual(object2);
When used inside a test you might want to call  ShouldDeepEqual instead. This method throws an exception with a detailed description of the differences between the 2 objects.
object1.ShouldDeepEqual(object2);
You can pass a custom comparison as the second argument to the ShouldDeepEqual method to override the default behaviour. You can also customize the behaviour inline using the WithDeepEqual extension method.
object1.WithDeepEqual(object2)
       .SkipDefault<MyEntity>()
       .IgnoreSourceProperty(x => x.Id)
       .Assert()
| Product | Versions Compatible and additional computed target framework versions. | 
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. | 
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. | 
| .NET Framework | 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. | 
- 
                                                    .NETCoreApp 3.1- No dependencies.
 
- 
                                                    .NETStandard 2.0- Microsoft.CSharp (>= 4.7.0)
- System.Collections.Immutable (>= 6.0.0)
 
- 
                                                    .NETStandard 2.1- Microsoft.CSharp (>= 4.7.0)
- System.Collections.Immutable (>= 6.0.0)
 
- 
                                                    net6.0- No dependencies.
 
- 
                                                    net8.0- No dependencies.
 
NuGet packages (9)
Showing the top 5 NuGet packages that depend on DeepEqual:
| Package | Downloads | 
|---|---|
| ShouldBeLike Shouldly like tool for asserting likeness based on James Fosters' DeepEqual library. | |
| TestHelper Test helpers | |
| DeepEqual.Bindings DeepEqual.Bindings extends the idea of comparing 2 object graphs (DeepEqual library). By default, nodes not matched by name between graphs make objects not equal. With DeepEqual.Bindings you can override that behavior. You can bind nodes with different names by specifying how they are compared by expression. The most common usage looks like this: var a1 = new A1 { B1 = new B1 { Y = "value" } }; var a2 = new A2 { B2 = new B2 { Y = "value" } }; var comparer = ExtendedComparer<A1, A2>.New() .Bind(x1 => x1.B1, x2 => x2.B2); var result = comparer.Compare(a1, a2); //result is true. | |
| ExcelAbstraction.Tests Tests for ExcelAbtraction implementations | |
| DeepEqual.System.Text.Json An extension to DeepEqual for comparing System.Test.Json types | 
GitHub repositories (7)
Showing the top 7 popular GitHub repositories that depend on DeepEqual:
| Repository | Stars | 
|---|---|
| ppy/osu 
                                                            rhythm is just a *click* away!
                                                         | |
| rnwood/smtp4dev 
                                                            smtp4dev - the fake smtp email server for development and testing
                                                         | |
| linvi/tweetinvi 
                                                            Tweetinvi, an intuitive Twitter C# library for the REST and Stream API. It supports .NET, .NETCore, UAP (Xamarin)...
                                                         | |
| SapphireDb/SapphireDb 
                                                            SapphireDb Server, a self-hosted, easy to use realtime database for Asp.Net Core and EF Core
                                                         | |
| rpgmaker/NetJSON 
                                                            Faster than Any Binary? Benchmark: http://theburningmonk.com/2014/08/json-serializers-benchmarks-updated-2/
                                                         | |
| MATRIX-feather/LLin 
                                                            从mfosu中分离出来的下载加速 & 游戏内音乐播放器
                                                         | |
| TrakHound/MTConnect.NET 
                                                            Fully featured .NET library in C# to build MTConnect Agent, Adapter, and Client Applications. Pre-built Agents with Windows Installers. Support for Windows and Linux. Supports MTConnect Versions up to 2.5. Supports .NET Framework 4.6.1 up to .NET 9
                                                         | 
| Version | Downloads | Last Updated | 
|---|---|---|
| 6.0.0-rc2 | 77,538 | 6/3/2024 | 
| 6.0.0-rc1 | 244 | 5/31/2024 | 
| 6.0.0-alpha3 | 275 | 5/30/2024 | 
| 6.0.0-alpha2 | 221 | 5/29/2024 | 
| 6.0.0-alpha | 235 | 5/29/2024 | 
| 5.1.0 | 1,135,590 | 5/28/2024 | 
| 5.0.0 | 475,636 | 2/6/2024 | 
| 4.2.1 | 5,111,038 | 10/27/2022 | 
| 4.2.0 | 3,098 | 10/27/2022 | 
| 4.1.0 | 208,465 | 9/10/2022 | 
| 4.0.1 | 78,208 | 8/20/2022 | 
| 4.0.0 | 1,362 | 8/20/2022 | 
| 3.0.0 | 3,440 | 8/20/2022 | 
| 2.0.0 | 5,966,005 | 12/7/2018 | 
| 1.7.1 | 79,885 | 12/4/2018 | 
| 1.6.0 | 1,130,658 | 4/25/2016 | 
| 1.5.1 | 46,922 | 3/8/2016 | 
| 1.5.0 | 66,571 | 1/13/2016 | 
| 1.4.0 | 45,233 | 3/22/2015 | 
| 1.3.0 | 2,567 | 3/21/2015 | 
| 1.2.0 | 2,633 | 3/21/2015 | 
| 1.1.1 | 10,483 | 2/9/2015 | 
| 1.1.0 | 6,575 | 9/22/2014 | 
| 1.0.0 | 6,283 | 6/17/2014 |