コード例 #1
0
ファイル: TestBTreeSingleValue.cs プロジェクト: ekicyou/pasta
 public virtual void TestDelete26()
 {
     NeoDatis.Btree.IBTree tree = GetBTree(3);
     tree.Insert("Z", "Z");
     tree.Insert("Y", "Y");
     tree.Insert("X", "X");
     tree.Insert("V", "V");
     tree.Insert("U", "U");
     tree.Insert("T", "T");
     tree.Insert("S", "S");
     tree.Insert("R", "R");
     tree.Insert("Q", "Q");
     tree.Insert("P", "P");
     tree.Insert("O", "O");
     tree.Insert("N", "N");
     tree.Insert("M", "M");
     tree.Insert("L", "L");
     tree.Insert("K", "K");
     tree.Insert("J", "J");
     tree.Insert("G", "G");
     tree.Insert("F", "F");
     tree.Insert("E", "E");
     tree.Insert("D", "D");
     tree.Insert("C", "C");
     tree.Insert("B", "B");
     tree.Insert("A", "A");
     AssertEquals(23, tree.GetSize());
     NeoDatis.Btree.IBTreeNodeOneValuePerKey child1 = (NeoDatis.Btree.IBTreeNodeOneValuePerKey
                                                       )tree.GetRoot().GetChildAt(0, false);
     NeoDatis.Btree.IBTreeNodeOneValuePerKey child14 = (NeoDatis.Btree.IBTreeNodeOneValuePerKey
                                                        )child1.GetChildAt(3, false);
     AssertNotNull(child14);
 }
コード例 #2
0
ファイル: TestBTreeSingleValue.cs プロジェクト: ekicyou/pasta
 public virtual void TestSplit()
 {
     NeoDatis.Btree.IBTree tree = GetBTree(2);
     tree.Insert(10, "Key 10");
     tree.Insert(100, "Key 100");
     NeoDatis.Btree.IBTreeNodeOneValuePerKey c1    = GetBTreeNode(tree, "child 1");
     NeoDatis.Btree.IBTreeNodeOneValuePerKey c2    = GetBTreeNode(tree, "child 2");
     NeoDatis.Btree.IBTreeNodeOneValuePerKey node1 = (NeoDatis.Btree.IBTreeNodeOneValuePerKey
                                                      )tree.GetRoot();
     node1.SetChildAt(c1, 0);
     node1.SetChildAt(c2, 1);
     node1.SetNbKeys(2);
     node1.SetNbChildren(2);
     c1.SetKeyAndValueAt(1, "Key 1", 0);
     c1.SetKeyAndValueAt(2, "Key 2", 1);
     c1.SetKeyAndValueAt(3, "Key 3", 2);
     c1.SetNbKeys(3);
     AssertEquals(0, c1.GetNbChildren());
     tree.Split(node1, c1, 0);
     AssertEquals(3, node1.GetNbKeys());
     AssertEquals(3, node1.GetNbChildren());
     AssertEquals(2, node1.GetKeyAndValueAt(0).GetKey());
     AssertEquals(10, node1.GetKeyAndValueAt(1).GetKey());
     AssertEquals(100, node1.GetKeyAndValueAt(2).GetKey());
     NeoDatis.Btree.IBTreeNodeOneValuePerKey c1New = (NeoDatis.Btree.IBTreeNodeOneValuePerKey
                                                      )node1.GetChildAt(0, false);
     AssertEquals(1, c1New.GetNbKeys());
     AssertEquals(0, c1New.GetNbChildren());
     AssertEquals(1, c1New.GetKeyAt(0));
     AssertEquals(null, c1New.GetKeyAt(1));
     AssertEquals(null, c1New.GetKeyAt(2));
     AssertEquals(node1, c1New.GetParent());
     NeoDatis.Btree.IBTreeNodeOneValuePerKey c1bis = (NeoDatis.Btree.IBTreeNodeOneValuePerKey
                                                      )node1.GetChildAt(1, false);
     AssertEquals(1, c1bis.GetNbKeys());
     AssertEquals(0, c1bis.GetNbChildren());
     AssertEquals(3, c1bis.GetKeyAt(0));
     AssertEquals(node1, c1bis.GetParent());
     AssertEquals(null, c1bis.GetKeyAt(1));
     AssertEquals(null, c1bis.GetKeyAt(2));
     NeoDatis.Btree.IBTreeNodeOneValuePerKey c2New = (NeoDatis.Btree.IBTreeNodeOneValuePerKey
                                                      )node1.GetChildAt(2, false);
     AssertEquals(c2, c2New);
 }