TDD is good, but...
Sometimes, when you write another test which asserts that objects are equals you need to override Equals method. I think that this solution is not quite right, because "you write code for test, but you must write test for code" =:)
This library enables you to perform comparison via reflection, and some other possible ways to compare objects (for example via IEnumerable or IDictionary interface).
And as a bonus you will get ShallowCopy() and DeepCopy() which can be also used in tests.
Performing compare assertions is quite simple:
CAssert.That.ObjectsAreEquals(
, );