AssertJ сравнивая двойные значения

Я хотел бы сравнить двойные значения с AssertJ. Я не понимаю, почему мой тест не проходит.

@Test
public void testInterestToQuote() {
    double result = BasicCalculator.accumulationFactorByYearsAndInterest(years, interest)
    Assertions.assertThat(result).isCloseTo(expected, Assertions.offset(0.1d))
}

Исключение составляет:

java.lang.AssertionError: 
Expecting:
   <7.256571590148141E-5>
to be close to:
   <7.25>
by less than <0.1> but difference was <7.249927434284099>.
(a difference of exactly <0.1> being considered valid)

Почему утверждение не удается?

2 ответа

Вчера было поздно, но 7.256571590148141E-5 не так, как я думал, 7.25.., потому что E-5 смещает точку 5 влево, так что это 0.0000725...

Сравнение десятичной точки ad Assertj с Double/Float :

В моем случае я сравнивал Double с Float

assertThat(resultDouble).isEqualTo(expectedFloat);

->assertThat(resultDouble).isEqualTo(expectedDouble);

Другие вопросы по тегам