2015-12-18 2 views
6

Я пишу блок-тест с использованием JUnit и Hamcrest. Я сравнивая двойные значения с помощью:Как сравнить парные разряды с помощью JUnit и Hamcrest?

assertThat(result, is(0.5)); 

Однако, сейчас я нуждаясь сравнить вычисленные значения, и я не хочу, чтобы сравнить с полным двойным значением. Вместо этого я хочу сравнить близость.

Я открыл класс под названием IsCloseTo, но я не уверен, как его использовать в assertThat, и я не могу найти примеры в Интернете.

Каков правильный синтаксис, чтобы сделать что-то вроде следующего?

// I can't do this as I need to know what methods/classes whatever I should be using 
// isCloseTo doesn't exist. 
assertThat(result, isCloseTo(0.5, 0.1)); 

ответ

10

Вы должны позвонить в Matchers.closeTo(double, double). При статическом импорте, это выглядит следующим образом:

assertThat(result, closeTo(0.5, 0.1)); 
+2

Полный статический импорт для тех, кто ищет его является: импорт статического org.hamcrest.Matchers.closeTo; – Necrototem

0

Просто работал его, is фактически возвращает Is объект, поэтому все, что мне нужно было сделать:

assertThat(result, new IsCloseTo(0.5, 0.1)); 

Ответ от nickb лучше, хотя.

Смежные вопросы