我有两个单元测试,而且都是有效的。那么,为什么Int16.CompateTo返回两个数字之间的差值,而Int32和Int64 CompareTo方法严格返回-1, 0, 1呢
[TestMethod]
public void Int16CompareTo()
{
Int16 value1 = 60;
Int16 value2 = 5;
var result = value1.CompareTo(value2);
Assert.AreEqual(result, 55);
}
[TestMethod]
public void Int32CompareTo()
{
Int32 value1 = 60;
Int32 value2 = 5;
var result = value1.CompareTo(value2);
Assert.AreEqual(result, 1);
}发布于 2017-08-31 03:19:10
MSN文档反映了您收到的行为。所有的方法都保证,如果数字大于0,你将得到一个大于0的值。如果数字相等,则为0;如果数字较小,则小于0。
如果您愿意,我可以覆盖该方法或为测试用例创建一个新的方法。
32位https://msdn.microsoft.com/en-us/library/y2ky8xsk(v=vs.110).aspx
16位https://msdn.microsoft.com/en-us/library/06x7xh8y(v=vs.110).aspx
https://stackoverflow.com/questions/45968056
复制相似问题