There appear to be Assert.assertArrayEquals()
methods in Junit4 for all primitives other than double, eg
Assert.assertArrayEquals(int[] expected, int[] actual)
and
Assert.assertArrayEquals(char[] expected, char[] actual)
but not
Assert.assertArrayEquals(double[] expected, double[] actual, double eps)
or
Assert.assertArrayEquals(double[] expected, double[] actual, double[] eps)
(the latter to account for variable ranges of doubles). Is there a fundamental reason why I should not write such a function?
The method seem to have been added in JUnit 4.6, but is for some reason missing in 4.5 and previous versions. I wouldn't expect any problems upgrading to a newer JUnit version.
It does have such a method (in 4.7), although it is not documented on the online javadoc here . It was certainly an oversight in the javadoc/version, but it is there now.
According to the JUnit bug database, they are " working on it ". Based on other answers, it sounds like the bug database is not completely in sync with reality.
just use:
AssertTrue(**message**, Arrays.equals(**expected**,**result**)
You might need this to round your result values to test against expected:
public double roundTo2Decimals(double val) {
DecimalFormat df2 = new DecimalFormat("###.####");
return Double.valueOf(df2.format(val));
}
See javdoc for more info
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.