1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.lang3.function;
19
20 import static org.apache.commons.lang3.LangAssertions.assertNullPointerException;
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.assertFalse;
23 import static org.junit.jupiter.api.Assertions.assertThrows;
24
25 import java.lang.reflect.Method;
26
27 import org.apache.commons.lang3.exception.CustomCheckedException;
28 import org.apache.commons.lang3.exception.CustomUncheckedException;
29 import org.junit.jupiter.api.Test;
30
31
32
33
34 class MethodInvokersFailableBiFunctionTest extends MethodFixtures {
35
36 @Test
37 void testApply1Arg() throws Throwable {
38
39 final FailableBiFunction<MethodFixtures, String, String[], Throwable> func = MethodInvokers.asFailableBiFunction(getMethodForGetString1ArgChecked());
40 assertEquals(INSTANCE.getString1ArgChecked("A"), func.apply(INSTANCE, "A"));
41 }
42
43 @Test
44 void testApply1ArgThrowsChecked() throws NoSuchMethodException, SecurityException {
45
46 final FailableBiFunction<MethodFixtures, String, String[], Throwable> func = MethodInvokers
47 .asFailableBiFunction(getMethodForGetString1ArgThrowsChecked());
48 assertThrows(CustomCheckedException.class, () -> func.apply(INSTANCE, "A"));
49 }
50
51 @Test
52 void testApply1ArgThrowsUnchecked() throws NoSuchMethodException, SecurityException {
53
54 final FailableBiFunction<MethodFixtures, String, String[], Throwable> func = MethodInvokers
55 .asFailableBiFunction(getMethodForGetString1ArgThrowsUnchecked());
56 assertThrows(CustomUncheckedException.class, () -> func.apply(INSTANCE, "A"));
57 }
58
59 @Test
60 void testConstructorForNull() throws SecurityException {
61 assertNullPointerException(() -> MethodInvokers.asFailableBiFunction(null));
62 }
63
64 @Test
65 void testToString() throws SecurityException, Throwable {
66
67 assertFalse(MethodInvokers.asFailableBiFunction(getMethodForGetString1ArgChecked()).toString().isEmpty());
68 }
69
70 }