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)); }
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); }
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)); }
public BTreeKeyedNode(BTree tree, BTreeNodeDescriptor descriptor) : base(tree, descriptor) { }