XUnit Assertion for checking equality of objects
I had similar issue, but then luckily I am already using
using Newtonsoft.Json;
So I just had to serialize it to json object then compare as string.
var obj1Str = JsonConvert.SerializeObject(obj1);
var obj2Str = JsonConvert.SerializeObject(obj2);
Assert.Equal(obj1Str, obj2Str );
FluentAssertions library has some pretty powerful comparison logic inside.
myObject.ShouldBeEquivalentTo(new { SomeProperty = "abc", SomeOtherProperty = 23 });
You can even use this to assert on part of "myObject". However, it might not help you with the private fields.