title: Assert.AreEqual fails for int and ulong but not long and uint
body: <p>Well, I hope my processor is not burned, because:</p>
  
  <pre><code>    [TestMethod]
      public void tenEqualten()
      {
          Int64 a = 10;
          UInt32 b = 10;
          Assert.AreEqual(a, b);
      }
  </code></pre>
  
  <p>works just fine, but this:</p>
  
  <pre><code>    [TestMethod]
      public void tenNotEqualten()
      {
          Int32 a = 10;
          UInt64 b = 10;
          Assert.AreEqual(a, b);
      }
  </code></pre>
  
  <p>fails miserably.</p>
  
  <p>Have you got same results, or is it just me?
  If yes, any ideas, why?
  If this is known issue for .Net 4.5 than sorry for spam, but I could not find that as a bug.</p>
  
  <p>edit: I found a duplicate <a href="https://stackoverflow.com/questions/9420288/why-integer-zero-does-not-equal-long-zero">here</a> and an explanation <a href="http://blog.coverity.com/2014/01/13/inconsistent-equality/#.VGKK3TTF8vk" rel="nofollow noreferrer">here</a></p>