在junit中断言float的不等式

时间:2014-02-10 12:30:44

标签: java junit

我刚刚迁移到更新版本的JUnit,其中Assert.assertNotEquals已被删除,所以现在我正在努力重写测试。

原始代码:

Double givenLongitude = new Double(13);
assertNotEquals(givenLongitude, extract("position.longitude", eventDataJson, Float.class), 0.01d);

其中extract方法是在这种情况下返回Float的泛型方法。

我的问题是我想像这样使用Assert.assertFalse

Double givenLongitude = new Double(13);
assertFalse(givenLongitude.equals(extract("position.longitude", eventDataJson, Float.class)), 0.01d);

但是由于assertFalse没有delta值,我不知道如何在不丢失比较中的delta值的情况下实现这一点?有什么建议吗?

2 个答案:

答案 0 :(得分:1)

升级到4.11版。 assertNotEquals方法在这个版本中被重新引入。

答案 1 :(得分:0)

我相信提取方法的原型如下所示:

<T> T extract(String s, .... /*more parameters*/)

在这种情况下,您可以将其称为:

<Float>extract("position.longitude", eventDataJson, Float.class)

所以,我想你可以做到:

<Float>extract("position.longitude", eventDataJson, Float.class).floatValue()

如果已编译,您可以使用assertEquals(float, float, float)

无论如何,您始终可以创建特殊变量并分配从extract返回的值:

float actual = extract(......);
assertEquals(expected, actual);