public void Test_CopyTo()
{
var tree = new BinaryTree<int>() { 90, 50,150, 20, 75 };
var arr = new INode<int>[5];
tree.CopyTo(arr,0);
INode<int>[] expected = {
new BinaryTreeNode<int>(90),
new BinaryTreeNode<int>(50),
new BinaryTreeNode<int>(150),
new BinaryTreeNode<int>(20),
new BinaryTreeNode<int>(75),
};
for (var i = 0; i < arr.Length; i++)
{
Assert.AreEqual(arr[i].Data, expected[i].Data);
}
var arr2 = new INode<int>[1];
tree.CopyTo(arr2,0);
Assert.AreEqual(arr2[0].Data, 90);
Assert.AreEqual(arr2.Length, 1);
}