DeepEqual is an extensible deep equality comparison library.
Install via NuGet
To test equality simply call the
IsDeepEqual extension method.
var 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.
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()