title: NUnit Assert.AreEqual(object a, object b) false negative?
body: <p>I can't understand why NUnit Assert.AreEqual is failing.</p>
  
  <pre><code>var dataService = new DataService(db);
  dataService.Set("Tests", "circle1", circle);
  var circleData = dataService.Get("Tests", "circle1");
  Assert.IsNotNull(circleData);
  var circleCopy = circleData.Get();
  Assert.AreEqual(circle, circleCopy);
  </code></pre>
  
  <p>Using NHibernate (storing serialized data, then deserializing it).  I've inserted a breakpoint and inspected the objects in Local variables window -- they are identical.</p>
  
  <p>Here is the NUnit message:</p>
  
  <pre><code>Assert.AreEqual failed. Expected:&lt;TestData.TestClassCircle&gt;. Actual:&lt;TestData.TestClassCircle&gt;.
  </code></pre>
  
  <p>Why would this test be failing when the objects appear to be identical?</p>