ForwardingEvalContext implements EvalContext { @Override public <T> Value<T> invokeProcessFn(TaskId taskId, Fn<T> processFn) { return delegate.invokeProcessFn(taskId, processFn); } protected  ForwardingEvalContext(EvalContext delegate); @Override Value<T> evaluateInternal(Task<T> task, EvalContext context); @Override Value<T> invokeProcessFn(TaskId taskId, Fn<T> processFn); @Override Value<T> value(Fn<T> value); @Override Value<T> immediateValue(T value); @Override Promise<T> promise(); @Override Listener listener();  }
@Test public void invokeProcessFn() throws Exception { Fn<Value<Object>> fn = () -> null; sut.invokeProcessFn(TASK.id(), fn); verify(delegate).invokeProcessFn(TASK.id(), fn); }