public function testMerges() { $result = array('A' => 1, 'B' => 2, 'C' => 3); Config::merge_array_low_into_high($result, array('C' => 4, 'D' => 5)); $this->assertEquals($result, array('A' => 1, 'B' => 2, 'C' => 3, 'D' => 5)); $result = array('A' => 1, 'B' => 2, 'C' => 3); Config::merge_array_high_into_low($result, array('C' => 4, 'D' => 5)); $this->assertEquals($result, array('A' => 1, 'B' => 2, 'C' => 4, 'D' => 5)); $result = array('A' => 1, 'B' => 2, 'C' => array(1, 2, 3)); Config::merge_array_low_into_high($result, array('C' => array(4, 5, 6), 'D' => 5)); $this->assertEquals($result, array('A' => 1, 'B' => 2, 'C' => array(1, 2, 3, 4, 5, 6), 'D' => 5)); $result = array('A' => 1, 'B' => 2, 'C' => array(1, 2, 3)); Config::merge_array_high_into_low($result, array('C' => array(4, 5, 6), 'D' => 5)); $this->assertEquals($result, array('A' => 1, 'B' => 2, 'C' => array(4, 5, 6, 1, 2, 3), 'D' => 5)); $result = array('A' => 1, 'B' => 2, 'C' => array('Foo' => 1, 'Bar' => 2), 'D' => 3); Config::merge_array_low_into_high($result, array('C' => array('Bar' => 3, 'Baz' => 4))); $this->assertEquals($result, array('A' => 1, 'B' => 2, 'C' => array('Foo' => 1, 'Bar' => 2, 'Baz' => 4), 'D' => 3)); $result = array('A' => 1, 'B' => 2, 'C' => array('Foo' => 1, 'Bar' => 2), 'D' => 3); Config::merge_array_high_into_low($result, array('C' => array('Bar' => 3, 'Baz' => 4))); $this->assertEquals($result, array('A' => 1, 'B' => 2, 'C' => array('Foo' => 1, 'Bar' => 3, 'Baz' => 4), 'D' => 3)); }