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);