public void CtorTest() { int tableSize = 20; int keySize = 5; int valueSize = 10; HashTableHeader header = new HashTableHeader(tableSize, keySize, valueSize); Assert.AreEqual(tableSize, header.TableSize); Assert.AreEqual(keySize, header.KeySize); Assert.AreEqual(valueSize, header.ValueSize); }
public void SerializeTest() { int tableSize = 20; int keySize = 5; int valueSize = 10; HashTableHeader header = new HashTableHeader(tableSize, keySize, valueSize); byte[] headerBytes = header.Serialize(); byte[] expected = tableSize.ToBytes().Append(keySize.ToBytes(), valueSize.ToBytes()); TestHelper.AssertByteArraysAreSame(expected, headerBytes); }
public void DeserializeTest() { int tableSize = 20; int keySize = 5; int valueSize = 10; byte[] expected = tableSize.ToBytes().Append(keySize.ToBytes(), valueSize.ToBytes()); HashTableHeader header = HashTableHeader.Deserialize(expected); Assert.AreEqual(tableSize, header.TableSize); Assert.AreEqual(keySize, header.KeySize); Assert.AreEqual(valueSize, header.ValueSize); try { HashTableHeader.Deserialize(new byte[0]); Assert.Fail("Should throw exception"); } catch (InsufficientDataException) { } }