c# - Assert.AreEqual fails for int and ulong but not long and uint -
well, hope processor not burned, because:
[testmethod] public void tenequalten() { int64 = 10; uint32 b = 10; assert.areequal(a, b); } works fine, this:
[testmethod] public void tennotequalten() { int32 = 10; uint64 b = 10; assert.areequal(a, b); } fails miserably.
have got same results, or me? if yes, ideas, why? if known issue .net 4.5 sorry spam, not find bug.
in first method calling assert.areequal<t>(t expected, t actual) t of type int64, because uint32 implicitly castable int64. same effect if did
[testmethod] public void tenequalten() { int64 = 10; uint32 b = 10; assert.areequal(a, (int64)b); } that why first version passes.
in second version calling assert.areequal(object expected, object actual) fails because different types , therefor not "equal".
you make first version act second version putting 2 numbers inside object let use same overload of assert.
[testmethod] public void tenequalten() { int64 = 10; uint32 b = 10; object c = a; object d = b; assert.areequal(c, d); } this method fail same way tennotequalten method fail.
Comments
Post a Comment