我有一个以OptionalDouble
作为输入类型调用的方法,我想验证它是否使用正确的值调用。但是由于舍入错误等原因我无法检查完全匹配。
对于正常的双人我正在使用它:
verify(observer, times(1)).accept(doubleThat(closeTo(x * (1 - y) / z, 0.00000001)));
但我无法通过任何简单的方法为OptionalDouble
做同样的事情。我需要在这里编写自己的处理程序吗?
如果我确实需要一个新的处理程序,任何人都可以指出我可以构建的示例吗?
答案 0 :(得分:2)
One option would be to use ArgumentCaptor I believe. eg below
final ArgumentCaptor<OptionalDouble> captor = ArgumentCaptor.forClass(OptionalDouble.class);
........
.............
verify(observer).accept(captor.capture());
assertEquals(expected.getAsDouble(), captor.getValue().getAsDouble(), delta);