Почему я получаю этот результат?
[TestMethod]
public void nan_test()
{
Assert.AreEqual(1, double.NaN, 1E-1); <-- Passes
Assert.AreEqual(1, double.NaN); <-- Fails
}
В чем разница между дельтой и утверждением, что NaN равно числу? Конечно, он всегда должен возвращать false. Я знаю об IsNaN, но здесь это бесполезно (см. ниже).
Предыстория: у меня есть функция, возвращающая NaN (ошибочно), это должно было быть реальным числом, но тест все же прошел. Я использую дельту, потому что это равенство с двойной точностью, в исходном тесте использовалось 1E-9.