Я пытаюсь написать тестовые методы в моем приложении c # .net web api. Мне нужно отфильтровать записи из заданного объекта значений и нужно использовать и оператор. По какой-то причине он не нравится оператору and, так как я использую значения с плавающей точкой. Может кто-нибудь сказать мне, в чем может быть проблема? Обратите внимание, что оба типа данных с плавающей точкой
Сообщение об ошибке - сравнение равенства чисел с плавающей запятой. Возможна потеря точности при округлении значений
private const float FrontedCoveragePolicyTypeId = 2 ;
private const float DirectlyWrittenCoveragePolicyTypeId = 1;
private const float Is953DYes = 1;
private const float Is953DNo = 0;
[TestMethod]
public void GetFedExciseExpenses_OnShore_Fronted_Test()
{
var result = _sut.GetFedExciseTaxExpenses(Industryid, DomicileId);
Assert.IsTrue(result.Any());
var fedExciseExpense = result.Find(x => x.CoveragePolicyTypeId == FrontedCoveragePolicyTypeId && x.Is953D == Is953DNo);
AssertFedExciseExpense(fedExciseExpense);
}
private static void AssertFedExciseExpense(FedExciseExpense expense)
{
Assert.IsNotNull(expense);
Assert.IsNotNull(expense.Value);
Assert.AreEqual(0, expense.Value);
}