Java 8: модульное тестирование метода, который возвращает объект Function - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь написать модульный тест Java 8 для метода, который возвращает Function;что-то вроде:

class MyObject<X> {
     public Function<X,Obj> getFunction() {...}
 }

В моем модульном тесте я создаю образец объекта и вызываю getFunction() и хочу сравнить его с ожидаемой функцией, которая не работает с org.junit.Assert.assertEquals:

@Test
public void getFunction_returnsFunction() {
   final MyObject<St> object = new MyObject<>(..);
   final Function<St,Obj> expectedResult = ...;

   // this does not work
   assertEquals(expectedResult, object.getFunction());
}

Можно ли даже сравнить два Function с?Как бы вы порекомендовали провести модульное тестирование этого метода?

1 Ответ

0 голосов
/ 29 ноября 2018

Проверьте поведение функции, используя стандартный метод R Function.apply(T t):

Function<St,Obj> func = o.getFunction();
assertEquals(func.apply(value), expectedFunctionResult);
...