@@ -30,6 +30,34 @@ public function testMbLcFirst(string $string, string $expected): void {
30
30
$ this ->assertSame ($ expected , mb_lcfirst ($ string ));
31
31
}
32
32
33
+ /**
34
+ * @dataProvider arrayFindDataProvider
35
+ */
36
+ public function testArrayFind (array $ array , callable $ callback , $ expected ): void {
37
+ $ this ->assertSame ($ expected , array_find ($ array , $ callback ));
38
+ }
39
+
40
+ /**
41
+ * @dataProvider arrayFindKeyDataProvider
42
+ */
43
+ public function testArrayFindKey (array $ array , callable $ callback , $ expected ): void {
44
+ $ this ->assertSame ($ expected , array_find_key ($ array , $ callback ));
45
+ }
46
+
47
+ /**
48
+ * @dataProvider arrayAnyDataProvider
49
+ */
50
+ public function testArrayAny (array $ array , callable $ callback , bool $ expected ): void {
51
+ $ this ->assertSame ($ expected , array_any ($ array , $ callback ));
52
+ }
53
+
54
+ /**
55
+ * @dataProvider arrayAllDataProvider
56
+ */
57
+ public function testArrayAll (array $ array , callable $ callback , bool $ expected ): void {
58
+ $ this ->assertSame ($ expected , array_all ($ array , $ callback ));
59
+ }
60
+
33
61
public static function ucFirstDataProvider (): array {
34
62
return [
35
63
['' , '' ],
@@ -68,4 +96,78 @@ public static function lcFirstDataProvider(): array {
68
96
["ß " , "ß " ],
69
97
];
70
98
}
99
+
100
+ public static function arrayFindDataProvider (): array {
101
+ $ callable = function ($ value ): bool {
102
+ return strlen ($ value ) > 2 ;
103
+ };
104
+
105
+ $ callableKey = function ($ value , $ key ): bool {
106
+ return is_numeric ($ key );
107
+ };
108
+
109
+ return [
110
+ [[], $ callable , null ],
111
+ [['a ' , 'aa ' , 'aaa ' , 'aaaa ' ], $ callable , 'aaa ' ],
112
+ [['a ' , 'aa ' ], $ callable , null ],
113
+ [['a ' => '1 ' , 'b ' => '12 ' , 'c ' => '123 ' , 'd ' => '1234 ' ], $ callable , '123 ' ],
114
+ [['a ' => '1 ' , 'b ' => '12 ' , 'c ' => '123 ' , 3 => '1234 ' ], $ callableKey , '1234 ' ],
115
+ ];
116
+ }
117
+
118
+ public static function arrayFindKeyDataProvider (): array {
119
+ $ callable = function ($ value ): bool {
120
+ return strlen ($ value ) > 2 ;
121
+ };
122
+
123
+ $ callableKey = function ($ value , $ key ): bool {
124
+ return is_numeric ($ key );
125
+ };
126
+
127
+ return [
128
+ [[], $ callable , null ],
129
+ [['a ' , 'aa ' , 'aaa ' , 'aaaa ' ], $ callable , 2 ],
130
+ [['a ' , 'aa ' ], $ callable , null ],
131
+ [['a ' => '1 ' , 'b ' => '12 ' , 'c ' => '123 ' , 'd ' => '1234 ' ], $ callable , 'c ' ],
132
+ [['a ' => '1 ' , 'b ' => '12 ' , 'c ' => '123 ' , 3 => '1234 ' ], $ callableKey , 3 ],
133
+ ];
134
+ }
135
+
136
+ public static function arrayAnyDataProvider (): array {
137
+ $ callable = function ($ value ): bool {
138
+ return strlen ($ value ) > 2 ;
139
+ };
140
+
141
+ $ callableKey = function ($ value , $ key ): bool {
142
+ return is_numeric ($ key );
143
+ };
144
+
145
+ return [
146
+ [[], $ callable , false ],
147
+ [['a ' , 'aa ' , 'aaa ' , 'aaaa ' ], $ callable , true ],
148
+ [['a ' , 'aa ' ], $ callable , false ],
149
+ [['a ' => '1 ' , 'b ' => '12 ' , 'c ' => '123 ' , 'd ' => '1234 ' ], $ callable , true ],
150
+ [['a ' => '1 ' , 'b ' => '12 ' , 'c ' => '123 ' , 3 => '1234 ' ], $ callableKey , true ],
151
+ [['a ' => '1 ' , 'b ' => '12 ' , 'c ' => '123 ' , 'd ' => '1234 ' ], $ callableKey , false ],
152
+ ];
153
+ }
154
+
155
+ public static function arrayAllDataProvider (): array {
156
+ $ callable = function ($ value ): bool {
157
+ return strlen ($ value ) > 2 ;
158
+ };
159
+
160
+ $ callableKey = function ($ value , $ key ): bool {
161
+ return is_numeric ($ key );
162
+ };
163
+
164
+ return [
165
+ [[], $ callable , true ],
166
+ [['a ' , 'aa ' , 'aaa ' , 'aaaa ' ], $ callable , false ],
167
+ [['aaa ' , 'aaa ' ], $ callable , true ],
168
+ [['a ' => '1 ' , 'b ' => '12 ' , 'c ' => '123 ' , 'd ' => '1234 ' ], $ callable , false ],
169
+ [['a ' => '1 ' , 'b ' => '12 ' , 'c ' => '123 ' , 'd ' => '1234 ' ], $ callableKey , false ],
170
+ [[1 => '1 ' , 2 => '12 ' , 3 => '123 ' , 4 => '1234 ' ], $ callableKey , true ],
171
+ ];
172
+ }
71
173
}
0 commit comments