2 require_once 'include/utils.php';
4 class SugarArrayMergeRecursiveTest extends Sugar_PHPUnit_Framework_TestCase
9 public function testDeepArrayMerge()
11 $array1 = array("one" => array("two" => array("three" => array("some" => "stuff"))));
12 $array2 = array("one" => array("two" => array("three" => array("more" => "stuff"))));
13 $expected = array("one" => array("two" => array("three" => array("more" => "stuff", "some" => "stuff"))));
14 $results = sugarArrayMergeRecursive($array1,$array2);
15 $this->assertEquals($results, $expected);
19 * this one won't preserve order
21 public function testSubArrayKeysArePreserved()
41 $results = sugarArrayMergeRecursive($array1,$array2);
43 $keys1 = sort(array_keys($results['dog']));
44 $keys2 = sort(array_keys($array2['dog']));
46 $this->assertEquals($keys1,$keys2);
49 public function testSugarArrayMergeMergesTwoArraysWithLikeKeysOverwritingExistingKeys()
77 $this->assertEquals(sugarArrayMergeRecursive($foo, $bar), $expected);
78 // insure that internal functions can't duplicate behavior
79 $this->assertNotEquals(array_merge($foo, $bar), $expected);
80 $this->assertNotEquals(array_merge_recursive($foo, $bar), $expected);