public void SerializesNode <TKey>() { var node = new Node <TKey>(4); var serializer = new BTreeNodeBinaryFormatterSerializer <TKey>(); Reserialize <TKey>(node, serializer); }
public void SerializesEntries <TKey>(TKey entryKey1, TKey entryKey2, TKey entryKey3) { var node = new Node <TKey>(4); var serializer = new BTreeNodeBinaryFormatterSerializer <TKey>(); node.EntryList.Add(new Entry <TKey>() { Key = entryKey1, Pointer = 123 }); node.EntryList.Add(new Entry <TKey>() { Key = entryKey2, Pointer = 456 }); node.EntryList.Add(new Entry <TKey>() { Key = entryKey3, Pointer = 789 }); node = Reserialize(node, serializer); Assert.AreEqual(3, node.EntryList.Count); Assert.AreEqual(entryKey1, node.EntryList[0].Key); Assert.AreEqual(123, node.EntryList[0].Pointer); Assert.AreEqual(entryKey2, node.EntryList[1].Key); Assert.AreEqual(456, node.EntryList[1].Pointer); Assert.AreEqual(entryKey3, node.EntryList[2].Key); Assert.AreEqual(789, node.EntryList[2].Pointer); }
public void SerializesEntriesWithAddress <TKey>(TKey entryKey1, TKey entryKey2, TKey entryKey3) { var node = new Node <ValueWithAddressIndexKey <TKey> >(4); var serializer = new BTreeNodeBinaryFormatterSerializer <ValueWithAddressIndexKey <TKey> >(); node.EntryList.Add(new Entry <ValueWithAddressIndexKey <TKey> >() { Key = new ValueWithAddressIndexKey <TKey>() { A = 111, V = entryKey1 }, Pointer = 123 }); node.EntryList.Add(new Entry <ValueWithAddressIndexKey <TKey> >() { Key = new ValueWithAddressIndexKey <TKey>() { A = 222, V = entryKey2 }, Pointer = 456 }); node.EntryList.Add(new Entry <ValueWithAddressIndexKey <TKey> >() { Key = new ValueWithAddressIndexKey <TKey>() { A = 333, V = entryKey3 }, Pointer = 789 }); node = Reserialize(node, serializer); Assert.AreEqual(3, node.EntryList.Count); Assert.AreEqual(111, node.EntryList[0].Key.A); Assert.AreEqual(entryKey1, node.EntryList[0].Key.V); Assert.AreEqual(123, node.EntryList[0].Pointer); Assert.AreEqual(222, node.EntryList[1].Key.A); Assert.AreEqual(entryKey2, node.EntryList[1].Key.V); Assert.AreEqual(456, node.EntryList[1].Pointer); Assert.AreEqual(333, node.EntryList[2].Key.A); Assert.AreEqual(entryKey3, node.EntryList[2].Key.V); Assert.AreEqual(789, node.EntryList[2].Pointer); }
public void SerializesChildren() { var serializer = new BTreeNodeBinaryFormatterSerializer <Byte>(); var node = new Node <Byte>(4); node.EntryList.Add(new Entry <byte>() { Key = 1, Pointer = 2 }); node.EntryList.Add(new Entry <byte>() { Key = 3, Pointer = 4 }); node.ChildrenAddresses.Add(123); node.ChildrenAddresses.Add(456); node.ChildrenAddresses.Add(789); node = Reserialize(node, serializer); Assert.AreEqual(123, node.ChildrenAddresses[0]); Assert.AreEqual(456, node.ChildrenAddresses[1]); Assert.AreEqual(789, node.ChildrenAddresses[2]); }
public void Can_Serialize_NullableByte() { Assert.IsTrue(BTreeNodeBinaryFormatterSerializer.CanSerialize(typeof(Node <Byte?>))); Assert.IsTrue(BTreeNodeBinaryFormatterSerializer.CanSerialize(typeof(Node <ValueWithAddressIndexKey <Byte?> >))); }
Node <TKey> Reserialize <TKey>(Node <TKey> node, BTreeNodeBinaryFormatterSerializer <TKey> serializer) { return(serializer.Deserialize(serializer.Serialize(node))); }
public void Cannot_Serialize_CompoundValue_Custom() { Assert.IsFalse(BTreeNodeBinaryFormatterSerializer.CanSerialize( typeof(Node <ValueWithAddressIndexKey <CompoundValue <int, CustomData> > >))); }
public void Can_Serialize_Boolean() { Assert.IsTrue(BTreeNodeBinaryFormatterSerializer.CanSerialize(typeof(Node <Boolean>))); Assert.IsTrue(BTreeNodeBinaryFormatterSerializer.CanSerialize(typeof(Node <ValueWithAddressIndexKey <Boolean> >))); }
public void Can_Serialize_CompoundValue_2() { Assert.IsTrue(BTreeNodeBinaryFormatterSerializer.CanSerialize( typeof(Node <ValueWithAddressIndexKey <CompoundValue <int, string> > >))); }
public void Can_Serialize_String() { Assert.IsTrue(BTreeNodeBinaryFormatterSerializer.CanSerialize(typeof(Node <String>))); Assert.IsTrue(BTreeNodeBinaryFormatterSerializer.CanSerialize(typeof(Node <ValueWithAddressIndexKey <String> >))); }
public void Can_Serialize_DateTime() { Assert.IsTrue(BTreeNodeBinaryFormatterSerializer.CanSerialize(typeof(Node <DateTime>))); Assert.IsTrue(BTreeNodeBinaryFormatterSerializer.CanSerialize(typeof(Node <ValueWithAddressIndexKey <DateTime> >))); }
public void Cannot_Serialize_NodeCustom_Value() { Assert.IsFalse(BTreeNodeBinaryFormatterSerializer.CanSerialize(typeof(Node <CustomData>))); }