Я пытаюсь передать Double.NEGATIVE_INFINITY
, Double.POSITIVE_INFINITY
и Double.NaN
в качестве параметров CSV в JUnit5:
@DisplayName("Testing ActivationFunction.heaviside")
@ParameterizedTest(name = "Testing ActivationFunction.heaviside ({0},{1})")
@CsvSource({
"Double.NEGATIVE_INFINITY, 0",
"-100, 0",
"-1, 0",
"0, 0.5",
"1, 1",
"100, 1",
"Double.POSITIVE_INFINITY, 0",
"Double.NaN, Double.NaN"
})
void testActivationFunction_heaviside(double input, double output) {
assertEquals(output, ActivationFunction.heaviside(input));
}
К сожалению, в средстве выполнения тестов JUnit5 это вызывает ошибки типа «Error converting parameter at index 0: Failed to convert String "Double.POSITIVE_INFINITY" to type java.lang.Double
» . Есть ли хороший способ автоматически передавать такие значения для тестирования, или мне просто нужно написать отдельный метод тестирования следующим образом:
assertEquals(0, Double.NEGATIVE_INFINITY);
assertEquals(1, Double.POSITIVE_INFINITY);
assertEquals(Double.NaN, Double.NaN);