function testMakeNestedMoreComplexRs() { $raw_tree_array = array( array('id' => 1, 'parent_id' => 0), array('id' => 2, 'parent_id' => 1), array('id' => 3, 'parent_id' => 2), array('id' => 4, 'parent_id' => 2), array('id' => 5, 'parent_id' => 1), array('id' => 6, 'parent_id' => 100), array('id' => 7, 'parent_id' => 6), array('id' => 8, 'parent_id' => 200), ); $expected_tree_array = array( array('id' => 1, 'parent_id' => 0, 'children' => array( array('id' => 2, 'parent_id' => 1, 'children' => array( array('id' => 3, 'parent_id' => 2), array('id' => 4, 'parent_id' => 2), ) ), array('id' => 5, 'parent_id' => 1) ) ), array('id' => 6, 'parent_id' => 100, 'children' => array( array('id' => 7, 'parent_id' => 6), ) ), array('id' => 8, 'parent_id' => 200), ); $nested = TreeRsProcessor :: makeNested(new ArrayDataSet($raw_tree_array)); $this->assertEqual( $nested, new ArrayDataSet($expected_tree_array) ); }