为什么我会得到这个结果?
[TestMethod]
public void nan_test()
{
Assert.AreEqual(1, double.NaN, 1E-1); <-- Passes
Assert.AreEqual(1, double.NaN); <-- Fails
}
delta对于判断NaN是否等于一个数字有什么不同之处?它应该总是返回false。我知道IsNaN,但在这里没有用(请参见下文)。
背景:我有一个函数返回NaN(错误的),本来应该是一个实数,但测试仍然通过了。我使用delta是因为它是双精度相等性,原始测试使用1E-9。