public void SetParentPointerReplacesRootNode()
        {
            PointerBackedBinaryTree <int> testTree = new PointerBackedBinaryTree <int>();

            testTree.Root      = new PointerBackedBinaryTreeNode <int>(1, null);
            testTree.Root.Left = new PointerBackedBinaryTreeNode <int>(2, testTree.Root);

            testTree.SetParentPointer(testTree.Root, testTree.Root.Left);
            Assert.AreEqual(2, testTree.Root.Data);
            Assert.IsNull(testTree.Root.Parent);
            Assert.IsNull(testTree.Root.Left);
            Assert.IsNull(testTree.Root.Right);
        }