public void SmallContainer() { // Arrange var container = new SmallTestContainer() { A = (ushort)0x4567, B = (ushort)0x0123 }; var tree = new SszTree(container.ToSszContainer()); // Act var bytes = tree.Serialize(); var hashTreeRoot = tree.HashTreeRoot(); // Assert var expectedByteString = "67452301"; var byteString = BitConverter.ToString(bytes.ToArray()).Replace("-", "").ToLowerInvariant(); byteString.ShouldBe(expectedByteString); var expectedHashTreeRoot = Hash(Chunk(new byte[] { 0x67, 0x45 }), Chunk(new byte[] { 0x23, 0x01 })); var expectedHashTreeRootString = BitConverter.ToString(expectedHashTreeRoot).Replace("-", "").ToLowerInvariant(); var hashTreeRootString = BitConverter.ToString(hashTreeRoot.ToArray()).Replace("-", "").ToLowerInvariant(); hashTreeRootString.ShouldBe(expectedHashTreeRootString); }
public static SszContainer ToSszContainer(this SmallTestContainer item) { return(new SszContainer(GetChildren(item))); }
private static IEnumerable <SszElement> GetChildren(SmallTestContainer item) { yield return(new SszBasicElement(item.A)); yield return(new SszBasicElement(item.B)); }