Пример #1
0
        public virtual void TestDeleteInsert100000()
        {
            NeoDatis.Btree.IBTree btree = GetBTree(3);
            int size = 200000;

            for (int i = 0; i < size; i++)
            {
                btree.Insert(i, "key " + i);
            }
            AssertEquals(size, btree.GetSize());
            for (int i = 0; i < size; i++)
            {
                AssertEquals("key " + i, btree.Delete(i, "key " + i));
            }
            AssertEquals(0, btree.GetSize());
            AssertEquals(1, btree.GetHeight());
            AssertEquals(0, btree.GetRoot().GetNbKeys());
            AssertEquals(0, btree.GetRoot().GetNbChildren());
            for (int i = 0; i < size; i++)
            {
                btree.Insert(size + i, "key " + (i + size));
            }
            for (int i = 0; i < size; i++)
            {
                AssertEquals("key " + (i + size), btree.Delete(i + size, "key " + (i + size)));
            }
            AssertEquals(0, btree.GetSize());
            AssertEquals(1, btree.GetHeight());
            AssertEquals(0, btree.GetRoot().GetNbKeys());
            AssertEquals(0, btree.GetRoot().GetNbChildren());
        }
Пример #2
0
 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);
 }
Пример #3
0
        public virtual void TestDelete3()
        {
            NeoDatis.Btree.IBTree btree = GetBTree(3);
            int size = 10;

            for (int i = 0; i < size; i++)
            {
                btree.Insert(i, "key " + i);
            }
            AssertEquals(size, btree.GetSize());
            for (int i = 0; i < size; i++)
            {
                AssertEquals("key " + i, btree.Delete(i, "key " + i));
            }
            AssertEquals(0, btree.GetSize());
        }
Пример #4
0
 /// <exception cref="System.Exception"></exception>
 private void TestDelete(int[] numbers)
 {
     NeoDatis.Btree.IBTree btree = GetBTree(2);
     for (int i = 0; i < numbers.Length; i++)
     {
         btree.Insert(numbers[i], "v " + numbers[i]);
     }
     AssertEquals(numbers.Length, btree.GetSize());
     for (int i = 0; i < numbers.Length; i++)
     {
         AssertEquals("v " + (i + 1), btree.Delete(i + 1, "v " + (i + 1)));
     }
     AssertEquals(0, btree.GetSize());
     AssertEquals(1, btree.GetHeight());
     AssertEquals(0, btree.GetRoot().GetNbKeys());
     AssertEquals(0, btree.GetRoot().GetNbChildren());
 }
Пример #5
0
        public virtual void TestDelete1000_3()
        {
            NeoDatis.Btree.IBTree btree = GetBTree(3);
            int size = 1000;

            for (int i = 0; i < size; i++)
            {
                btree.Insert(i, "value " + i);
            }
            AssertEquals(size, btree.GetSize());
            for (int i = size - 1; i >= 0; i--)
            {
                AssertEquals("value " + i, btree.Delete(i, "value " + i));
            }
            AssertEquals(0, btree.GetSize());
            AssertEquals(1, btree.GetHeight());
            AssertEquals(0, btree.GetRoot().GetNbKeys());
            AssertEquals(0, btree.GetRoot().GetNbChildren());
        }
Пример #6
0
 public virtual void TestgetBiggestSmallest1()
 {
     NeoDatis.Btree.IBTree btree = GetBTree(3);
     btree.Insert(1, "key 1");
     btree.Insert(2, "key 2");
     btree.Insert(3, "key 3");
     btree.Insert(4, "key 4");
     btree.Insert(5, "key 5");
     AssertEquals(5, btree.GetSize());
     AssertEquals("key 5", btree.GetBiggest(btree.GetRoot(), false).GetValue());
     AssertEquals("key 1", btree.GetSmallest(btree.GetRoot(), false).GetValue());
 }
Пример #7
0
        public virtual void TestDelete1()
        {
            NeoDatis.Btree.IBTree btree = GetBTree(10);
            int  size = 500000;
            long t0   = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs();

            for (int i = 0; i < size; i++)
            {
                btree.Insert(i, "key " + i);
            }
            long t1 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs();

            // println("insert time=" + (t1-t0));
            AssertEquals(size, btree.GetSize());
            AssertEquals("key 499999", btree.Delete(499999, "key 499999"));
        }
Пример #8
0
 public override bool MoveNext()
 {
     return(nbReturnedElements < btree.GetSize());
 }