public function testSearchThroughLotsOfLeaves() { $tree = new Tree(); $tree->insert($valueOne = 12); $tree->insert($valueTwo = 18); $tree->insert($valueThree = 24); $tree->insert($valueFour = 16); $tree->insert($valueFive = 22); $tree->insert($valueSix = 28); $this->assertEquals($tree->search($valueTwo), $tree->root); $this->assertEquals($tree->search($valueThree), $tree->root->right); $this->assertEquals($tree->search($valueOne), $tree->root->left); $this->assertEquals($tree->search($valueFive), $tree->root->right->left); $this->assertEquals($tree->search($valueSix), $tree->root->right->right); $this->assertEquals($tree->search($valueFour), $tree->root->left->right); }
<?php include 'vendor/autoload.php'; use App\Tree; $tree = new Tree(); function printTree($node, $indent, $prefix) { $indentStr = " "; $printStr = ""; for ($i = 0; $i < $indent; $i++) { $printStr = $printStr . $indentStr; } echo $printStr . $prefix . " value: " . $node->data . "\n"; $indent++; if ($node->left) { printTree($node->left, $indent, "left: "); } if ($node->right) { printTree($node->right, $indent, "right: "); } } $tree->insert(5); printTree($tree->root, 0, "root"); echo "--------- \n"; $tree->insert(3); printTree($tree->root, 0, "root"); echo "--------- \n"; $tree->insert(4); printTree($tree->root, 0, "root");