示例#1
0
        public virtual void TestDelete()
        {
            NeoDatis.Btree.IBTreeSingleValuePerKey btree = GetBTree(3);
            btree.Insert(1, "key 1");
            AssertEquals(1, btree.GetSize());
            AssertEquals("key 1", btree.Search(1));
            object o = btree.Delete(1, "key 1");

            AssertEquals("key 1", o);
            AssertEquals(0, btree.GetSize());
            AssertEquals(1, btree.GetHeight());
            AssertEquals(0, btree.GetRoot().GetNbKeys());
        }
示例#2
0
        public virtual void TestDelete100000Alpha_2()
        {
            NeoDatis.Btree.IBTreeSingleValuePerKey btree = GetBTree(2);
            int size = 100000;

            for (int i = 0; i < size; i++)
            {
                btree.Insert("key" + i, "value " + i);
            }
            object o = btree.Search("key71");

            AssertEquals(size, btree.GetSize());
            for (int i = size - 1; i >= 0; i--)
            {
                // println(new BTreeDisplay().build(btree));
                AssertEquals("value " + i, btree.Delete("key" + i, "value " + i));
            }
            AssertEquals(0, btree.GetSize());
            AssertEquals(1, btree.GetHeight());
            AssertEquals(0, btree.GetRoot().GetNbKeys());
            AssertEquals(0, btree.GetRoot().GetNbChildren());
        }