public function test_insertedElementCanBeFound() { $tree = new BinaryTree(); $tree->insert(new types\NumericContainer(3)); $tree->insert(new types\NumericContainer(2)); $tree->insert(new types\NumericContainer(1)); $tree->insert(new types\NumericContainer(5)); $element = new types\NumericContainer(4); $tree->insert($element); $this->assertSame($element, $tree->find(new types\NumericContainer(4))); }
echo '<pre>'; var_dump($tree); echo '</pre>'; echo '<br>'; echo 'ここから検索テスト'; var_dump(BinaryTree::find(1000, $tree)); var_dump(BinaryTree::find(2000, $tree)); var_dump(BinaryTree::find(300, $tree)); var_dump(BinaryTree::find(4000, $tree)); var_dump(BinaryTree::find(5000, $tree)); var_dump(BinaryTree::find(100, $tree)); var_dump(BinaryTree::find(50, $tree)); var_dump(BinaryTree::find(10, $tree)); var_dump(BinaryTree::find(200, $tree)); var_dump(BinaryTree::find(400, $tree)); var_dump(BinaryTree::find(1, $tree)); echo '<br>'; echo 'ここから消去テスト'; var_dump(BinaryTree::delete(1, $tree)); echo '<br>'; //リーフの削除テスト //var_dump(BinaryTree::delete(400, $tree)); //右のノードしかない時の削除テスト //var_dump(BinaryTree::delete(2000, $tree)); //左のノードしかない時の削除テスト //var_dump(BinaryTree::delete(50, $tree)); //右と左のノードがある時のテスト //var_dump(BinaryTree::delete(300, $tree)); //右と左のノードがある時のテスト ////var_dump(BinaryTree::delete(100, $tree)); //ルートの削除テスト