示例#1
0
        public void ReadNode_Generic_ThrowsOnInvalidKind()
        {
            var descriptor = new BTreeNodeDescriptor();

            descriptor.Kind = BTreeNodeKind.MapNode;

            byte[] data = new byte[descriptor.Size];
            descriptor.WriteTo(data, 0);

            var tree = new BTree <ExtentKey>(this.buffer);

            Assert.Throws <NotImplementedException>(() => BTreeNode.ReadNode <CatalogKey>(tree, data, 0));
        }
示例#2
0
        public void ReadFrom_Works()
        {
            BTreeNodeDescriptor descriptor = new BTreeNodeDescriptor();

            Assert.Equal(14, descriptor.ReadFrom(Convert.FromBase64String("AAAAAgAAAAD/AQAVAAA="), 0));

            Assert.Equal(0u, descriptor.BackwardLink);
            Assert.Equal(2u, descriptor.ForwardLink);
            Assert.Equal(1, descriptor.Height);
            Assert.Equal(BTreeNodeKind.LeafNode, descriptor.Kind);
            Assert.Equal(0x15, descriptor.NumRecords);
            Assert.Equal(0, descriptor.Reserved);
            Assert.Equal(14, descriptor.Size);
        }
示例#3
0
        public void WriteTo_Throws()
        {
            BTreeNodeDescriptor descriptor = new BTreeNodeDescriptor()
            {
                BackwardLink = 0,
                ForwardLink  = 2,
                Height       = 1,
                Kind         = BTreeNodeKind.LeafNode,
                NumRecords   = 0x15,
                Reserved     = 0,
            };

            byte[] data = new byte[descriptor.Size];
            descriptor.WriteTo(data, 0);

            Assert.Equal("AAAAAgAAAAD/AQAVAAA=", Convert.ToBase64String(data));
        }
示例#4
0
 public BTreeKeyedNode(BTree tree, BTreeNodeDescriptor descriptor)
     : base(tree, descriptor)
 {
 }