@Test public void constructors_throw_exception_if_passed_null_operator() { final Deque<Span> spanStackMock = mock(Deque.class); final Map<String, String> mdcInfoMock = mock(Map.class); assertThat(catchThrowable(() -> new BiFunctionWithTracing(null))) .isInstanceOf(IllegalArgumentException.class); assertThat(catchThrowable(() -> withTracing(null))) .isInstanceOf(IllegalArgumentException.class); assertThat(catchThrowable(() -> new BiFunctionWithTracing(null, Pair.of(spanStackMock, mdcInfoMock)))) .isInstanceOf(IllegalArgumentException.class); assertThat(catchThrowable(() -> withTracing(null, Pair.of(spanStackMock, mdcInfoMock)))) .isInstanceOf(IllegalArgumentException.class); assertThat(catchThrowable(() -> new BiFunctionWithTracing(null, spanStackMock, mdcInfoMock))) .isInstanceOf(IllegalArgumentException.class); assertThat(catchThrowable(() -> withTracing(null, spanStackMock, mdcInfoMock))) .isInstanceOf(IllegalArgumentException.class); }
public static <T, U, R> BiFunctionWithTracing<T, U, R> withTracing(BiFunction<T, U, R> origBiFunction) { return new BiFunctionWithTracing<>(origBiFunction); }
BiFunctionWithTracing implements BiFunction<T, U, R> { public static <T, U, R> BiFunctionWithTracing<T, U, R> withTracing(BiFunction<T, U, R> origBiFunction) { return new BiFunctionWithTracing<>(origBiFunction); } }
BiFunctionWithTracing implements BiFunction<T, U, R> { public static <T, U, R> BiFunctionWithTracing<T, U, R> withTracing(BiFunction<T, U, R> origBiFunction) { return new BiFunctionWithTracing<>(origBiFunction); } BiFunctionWithTracing(BiFunction<T, U, R> origBiFunction);  BiFunctionWithTracing(BiFunction<T, U, R> origBiFunction,
                                 Pair<Deque<Span>, Map<String, String>> originalThreadInfo);  BiFunctionWithTracing(BiFunction<T, U, R> origBiFunction,
                                 Deque<Span> spanStackForExecution,
                                 Map<String, String> mdcContextMapForExecution); }
BiFunctionWithTracing implements BiFunction<T, U, R> { public static <T, U, R> BiFunctionWithTracing<T, U, R> withTracing(BiFunction<T, U, R> origBiFunction) { return new BiFunctionWithTracing<>(origBiFunction); } BiFunctionWithTracing(BiFunction<T, U, R> origBiFunction);  BiFunctionWithTracing(BiFunction<T, U, R> origBiFunction,
                                 Pair<Deque<Span>, Map<String, String>> originalThreadInfo);  BiFunctionWithTracing(BiFunction<T, U, R> origBiFunction,
                                 Deque<Span> spanStackForExecution,
                                 Map<String, String> mdcContextMapForExecution); static BiFunctionWithTracing<T, U, R> withTracing(BiFunction<T, U, R> origBiFunction); static BiFunctionWithTracing<T, U, R> withTracing(
        BiFunction<T, U, R> origBiFunction,
        Pair<Deque<Span>, Map<String, String>> originalThreadInfo
    ); static BiFunctionWithTracing<T, U, R> withTracing(BiFunction<T, U, R> origBiFunction,
                                                                       Deque<Span> spanStackForExecution,
                                                                       Map<String, String> mdcContextMapForExecution); @Override R apply(T t, U u); }
BiFunctionWithTracing implements BiFunction<T, U, R> { public static <T, U, R> BiFunctionWithTracing<T, U, R> withTracing(BiFunction<T, U, R> origBiFunction) { return new BiFunctionWithTracing<>(origBiFunction); } BiFunctionWithTracing(BiFunction<T, U, R> origBiFunction);  BiFunctionWithTracing(BiFunction<T, U, R> origBiFunction,
                                 Pair<Deque<Span>, Map<String, String>> originalThreadInfo);  BiFunctionWithTracing(BiFunction<T, U, R> origBiFunction,
                                 Deque<Span> spanStackForExecution,
                                 Map<String, String> mdcContextMapForExecution); static BiFunctionWithTracing<T, U, R> withTracing(BiFunction<T, U, R> origBiFunction); static BiFunctionWithTracing<T, U, R> withTracing(
        BiFunction<T, U, R> origBiFunction,
        Pair<Deque<Span>, Map<String, String>> originalThreadInfo
    ); static BiFunctionWithTracing<T, U, R> withTracing(BiFunction<T, U, R> origBiFunction,
                                                                       Deque<Span> spanStackForExecution,
                                                                       Map<String, String> mdcContextMapForExecution); @Override R apply(T t, U u);  }