@@ -53,19 +53,7 @@ public function getDouble(
53
53
$ mockBuilder ->setConstructorArgs ($ constructorParams );
54
54
}
55
55
56
- $ methods = [];
57
- $ onConsecutiveCalls = [];
58
- $ otherCalls = [];
59
-
60
- foreach ($ params as $ key => $ val ) {
61
- if (is_int ($ key )) {
62
- $ onConsecutiveCalls = array_merge ($ onConsecutiveCalls , $ val );
63
- $ methods [] = array_keys ($ val )[0 ];
64
- } else {
65
- $ otherCalls [$ key ] = $ val ;
66
- $ methods [] = $ key ;
67
- }
68
- }
56
+ [$ onConsecutiveCalls , $ otherCalls , $ methods ] = $ this ->processParams ($ params );
69
57
70
58
if ($ methods === []) {
71
59
$ mock = $ mockBuilder ->getMock ();
@@ -103,6 +91,30 @@ public function getDouble(
103
91
return $ mock ;
104
92
}
105
93
94
+ /**
95
+ * @param array<string, mixed>|array<array> $params [method_name => return_value]
96
+ *
97
+ * @return array{0: array<string, array<string>>, 1: array<string, mixed>, 2: string[]}
98
+ */
99
+ private function processParams (array $ params ): array
100
+ {
101
+ $ onConsecutiveCalls = [];
102
+ $ otherCalls = [];
103
+ $ methods = [];
104
+
105
+ foreach ($ params as $ key => $ val ) {
106
+ if (is_int ($ key )) {
107
+ $ onConsecutiveCalls = array_merge ($ onConsecutiveCalls , $ val );
108
+ $ methods [] = array_keys ($ val )[0 ];
109
+ } else {
110
+ $ otherCalls [$ key ] = $ val ;
111
+ $ methods [] = $ key ;
112
+ }
113
+ }
114
+
115
+ return [$ onConsecutiveCalls , $ otherCalls , $ methods ];
116
+ }
117
+
106
118
/**
107
119
* @param array<mixed>|null $params
108
120
* @param mixed $expects
0 commit comments