示例#1
0
        public void RunBruteForce()
        {
            var degree = 2;

            var mockDataProvider = new MockBTreeDataProvider <string>();
            var btree            = new BTree <string>(mockDataProvider, degree);

            var rand = new Random();

            for (int i = 0; i < 1000; i++)
            {
                var value = (int)rand.Next() % 100;
                var key   = value.ToString();

                if (rand.Next() % 2 == 0)
                {
                    if (btree.Search(key) == null)
                    {
                        btree.Insert(key, value);
                    }
                    Assert.AreEqual(value, btree.Search(key).Pointer);
                }
                else
                {
                    btree.Delete(key);
                    Assert.IsNull(btree.Search(key));
                }
                CheckNode(btree.Root, mockDataProvider);
            }
        }
示例#2
0
 public void Initialize()
 {
     _session      = new Session(new TestPlatform(), "");
     _mockTree     = new MockBTree <object>();
     _mockProvider = new MockBTreeDataProvider <object>();
     _index        = new RecordIndex <object>(_session, _mockTree, _mockProvider);
 }
示例#3
0
        public void Test_Btree_Bug_Remove_From_Subtree_Fix()
        {
            var degree           = 2;
            var mockDataProvider = new MockBTreeDataProvider <int>();
            var btree            = new BTree <int>(mockDataProvider, degree);

            for (int i = 0; i < 10; i++)
            {
                btree.Insert(i, i);
            }

            new List <int>()
            {
                3, 4
            }.ForEach((i) => {
                btree.Delete(i);
            });
        }