@@ -36,6 +36,54 @@ inline fun <reified T : Any> argumentCaptor(): KArgumentCaptor<T> {
36
36
return KArgumentCaptor (ArgumentCaptor .forClass(T ::class .java), T ::class )
37
37
}
38
38
39
+ /* *
40
+ * Creates 2 [KArgumentCaptor]s for given types.
41
+ */
42
+ inline fun <reified A : Any , reified B : Any > argumentCaptor2 (): Pair <KArgumentCaptor <A >, KArgumentCaptor<B>> {
43
+ return Pair (KArgumentCaptor (ArgumentCaptor .forClass(A ::class .java), A ::class ),
44
+ KArgumentCaptor (ArgumentCaptor .forClass(B ::class .java), B ::class ))
45
+ }
46
+
47
+ /* *
48
+ * Creates 3 [KArgumentCaptor]s for given types.
49
+ */
50
+ inline fun <reified A : Any , reified B : Any , reified C : Any > argumentCaptor3 (): Triple <KArgumentCaptor <A >, KArgumentCaptor<B>, KArgumentCaptor<C>> {
51
+ return Triple (
52
+ KArgumentCaptor (ArgumentCaptor .forClass(A ::class .java), A ::class ),
53
+ KArgumentCaptor (ArgumentCaptor .forClass(B ::class .java), B ::class ),
54
+ KArgumentCaptor (ArgumentCaptor .forClass(C ::class .java), C ::class ))
55
+ }
56
+
57
+ data class ArgumentCaptorHolder4 <out A , out B , out C , out D >(
58
+ val first : A , val second : B , val third : C , val fourth : D )
59
+ data class ArgumentCaptorHolder5 <out A , out B , out C , out D , out E >(
60
+ val first : A , val second : B , val third : C , val fourth : D , val fifth : E )
61
+
62
+
63
+ /* *
64
+ * Creates 4 [KArgumentCaptor]s for given types.
65
+ */
66
+ inline fun <reified A : Any , reified B : Any , reified C : Any , reified D : Any > argumentCaptor4 (): ArgumentCaptorHolder4 <KArgumentCaptor <A >, KArgumentCaptor<B>, KArgumentCaptor<C>, KArgumentCaptor<D>> {
67
+ return ArgumentCaptorHolder4 (
68
+ KArgumentCaptor (ArgumentCaptor .forClass(A ::class .java), A ::class ),
69
+ KArgumentCaptor (ArgumentCaptor .forClass(B ::class .java), B ::class ),
70
+ KArgumentCaptor (ArgumentCaptor .forClass(C ::class .java), C ::class ),
71
+ KArgumentCaptor (ArgumentCaptor .forClass(D ::class .java), D ::class ))
72
+ }
73
+ /* *
74
+ * Creates 4 [KArgumentCaptor]s for given types.
75
+ */
76
+ inline fun <reified A : Any , reified B : Any , reified C : Any , reified D : Any , reified E : Any > argumentCaptor5 (): ArgumentCaptorHolder5 <KArgumentCaptor <A >, KArgumentCaptor<B>, KArgumentCaptor<C>, KArgumentCaptor<D>, KArgumentCaptor<E>> {
77
+ return ArgumentCaptorHolder5 (
78
+ KArgumentCaptor (ArgumentCaptor .forClass(A ::class .java), A ::class ),
79
+ KArgumentCaptor (ArgumentCaptor .forClass(B ::class .java), B ::class ),
80
+ KArgumentCaptor (ArgumentCaptor .forClass(C ::class .java), C ::class ),
81
+ KArgumentCaptor (ArgumentCaptor .forClass(D ::class .java), D ::class ),
82
+ KArgumentCaptor (ArgumentCaptor .forClass(E ::class .java), E ::class ))
83
+ }
84
+
85
+
86
+
39
87
/* *
40
88
* Creates a [KArgumentCaptor] for given type, taking in a lambda to allow fast verification.
41
89
*/
0 commit comments