public void Test_InnerNode_Merge_Test() { var leftInnerNode = new InnerNode<int, int>(3); var leaf = new LeafNode<int, int>(3); leaf.Keys.Add(1); leaf.Values.Add(new List<int>()); leaf.Values[0].Add(1); leftInnerNode.Children.Add(leaf); leaf = new LeafNode<int, int>(3); leaf.Keys.Add(2); leaf.Values.Add(new List<int>()); leaf.Values[0].Add(2); leftInnerNode.Children.Add(leaf); leftInnerNode.Keys.Add(1); var rightInnerNode = new InnerNode<int, int>(3); leaf = new LeafNode<int, int>(3); leaf.Keys.Add(3); leaf.Values.Add(new List<int>()); leaf.Values[0].Add(3); rightInnerNode.Children.Add(leaf); rightInnerNode.Keys.Add(4); leftInnerNode.Merge(rightInnerNode); Assert.AreEqual(0, rightInnerNode.Keys.Count); Assert.AreEqual(0, rightInnerNode.Children.Count); Assert.AreEqual(2, leftInnerNode.Keys.Count); Assert.AreEqual(3, leftInnerNode.Children.Count); }