3 * Test class for ArrayUtils class
8 class ArrayUtilsTest
extends PHPUnit_Framework_TestCase
{
12 * @covers ArrayUtils::findLowerBound
13 * @dataProvider provideFindLowerBound
15 function testFindLowerBound(
16 $valueCallback, $valueCount, $comparisonCallback, $target, $expected
19 ArrayUtils
::findLowerBound(
20 $valueCallback, $valueCount, $comparisonCallback, $target
25 function provideFindLowerBound() {
26 $indexValueCallback = function ( $size ) {
27 return function ( $val ) use ( $size ) {
28 $this->assertTrue( $val >= 0 );
29 $this->assertTrue( $val < $size );
33 $comparisonCallback = function ( $a, $b ) {
39 $indexValueCallback( 0 ),
46 $indexValueCallback( 1 ),
53 $indexValueCallback( 1 ),
60 $indexValueCallback( 1 ),
67 $indexValueCallback( 2 ),
74 $indexValueCallback( 2 ),
81 $indexValueCallback( 2 ),
88 $indexValueCallback( 2 ),
95 $indexValueCallback( 2 ),
102 $indexValueCallback( 3 ),
109 $indexValueCallback( 3 ),
116 $indexValueCallback( 3 ),
123 $indexValueCallback( 3 ),
133 * @covers ArrayUtils::arrayDiffAssocRecursive
134 * @dataProvider provideArrayDiffAssocRecursive
136 function testArrayDiffAssocRecursive( $expected ) {
137 $args = func_get_args();
138 array_shift( $args );
139 $this->assertEquals( call_user_func_array(
140 'ArrayUtils::arrayDiffAssocRecursive', $args
144 function provideArrayDiffAssocRecursive() {
228 array( array( array() ) ),
232 array( 1, array( 1 ) ),
233 array( 1, array( 1 ) ),
238 array( 1, array( 1 ) ),
239 array( 2, array( 1 ) ),
243 array( 1, array( 1 ) ),
244 array( 2, array( 1 ) ),
245 array( 1, array( 2 ) ),
259 array( 1, array( 1 => 2 ) ),
260 array( 1, array( 1, 2 ) ),
261 array( 2, array( 1 ) ),
265 array( 1, array( 1, 2 ) ),
266 array( 2, array( 1 ) ),
267 array( 2, array( 1 => 2 ) ),
270 array( 1 => array( 1, 2 ) ),
271 array( 1, array( 1, 2 ) ),
272 array( 1, array( 2 ) ),
275 array( 1 => array( array( 2, 3 ), 2 ) ),
276 array( 1, array( array( 2, 3 ), 2 ) ),
277 array( 1, array( 2 ) ),
280 array( 1 => array( array( 2 ), 2 ) ),
281 array( 1, array( array( 2, 3 ), 2 ) ),
282 array( 1, array( array( 1 => 3 ) ) ),
285 array( 1 => array( 1 => 2 ) ),
286 array( 1, array( array( 2, 3 ), 2 ) ),
287 array( 1, array( array( 1 => 3, 0 => 2 ) ) ),
290 array( 1 => array( 1 => 2 ) ),
291 array( 1, array( array( 2, 3 ), 2 ) ),
292 array( 1, array( array( 1 => 3 ) ) ),
293 array( 1 => array( array( 2 ) ) ),
297 array( 1, array( array( 2, 3 ), 2 ) ),
298 array( 1 => array( 1 => 2, 0 => array( 1 => 3, 0 => 2 ) ), 0 => 1 ),
302 array( 1, array( array( 2, 3 ), 2 ) ),
303 array( 1 => array( 1 => 2 ) ),
304 array( 1 => array( array( 1 => 3 ) ) ),
305 array( 1 => array( array( 2 ) ) ),