невозможно отфильтровать записи в тестовых методах, так как он жаловался на оператор AND в c # - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь написать тестовые методы в моем приложении 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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...