Ejemplo n.º 1
0
        internal BTreeWalker(int degree, IBTreeDataProvider <TK> dataProvider)
        {
            this.Comparer = new ObjectComparer();

            this.DataProvider = dataProvider;
            this.Degree       = degree;

            Reset();
        }
Ejemplo n.º 2
0
        internal BTree(IBTreeDataProvider <TK> dataProvider, int degree)
        {
            DataProvider = dataProvider;
            Comparer     = new ObjectComparer();

            if (degree < 2)
            {
                throw new ArgumentException("BTree degree must be at least 2", "degree");
            }

            this.Degree = degree;
            this.Height = 1;
        }
Ejemplo n.º 3
0
        private void CheckNode(Node <string> node, IBTreeDataProvider <string> btreeData)
        {
            if (node.ChildrenAddresses.Count > 0 &&
                node.ChildrenAddresses.Count != node.EntryList.Count + 1)
            {
                Assert.Fail("There are children, but they don't match the number of entries.");
            }

            if (node.EntryList.Count > Node.MaxEntriesForDegree(node.Degree))
            {
                Assert.Fail("Too much entries in node");
            }

            if (node.EntryList.Count > Node.MaxChildrenForDegree(node.Degree))
            {
                Assert.Fail("Too much children in node");
            }

            foreach (var childAddress in node.ChildrenAddresses.Addresses)
            {
                var childNode = btreeData.GetNode(childAddress);
                CheckNode(childNode, btreeData);
            }
        }
Ejemplo n.º 4
0
 public void Initialize()
 {
     _mockDataProvider = new MockBTreeDataProvider <int>();
 }
Ejemplo n.º 5
0
 public void Initialize()
 {
     _mockDataProvider = new MockBTreeDataProvider <int>();
     _walker           = new BTreeWalker <int>(_degree, _mockDataProvider);
 }