为什么我会得到这个结果?
[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。