Ejemplo n.º 1
0
        public void AppendLeafAndDraw(EventMerkleTree tree, int content)
        {
            Output.WriteLine($"Append {content}");
            var newLeafNode = EventMerkleNode.Create(content.ToString()).SetText(content.AsAlphaChar());

            tree.AppendLeaf(newLeafNode);
            Output.WriteLine($"CP: {tree.CurrentParent}, CL: {tree.CurrentLeaf}");
            DrawNode(tree.RootNode);
            Output.WriteLine("");
        }
        public void CompareCliftonMerkleToDebugEventMerkle_Test(int leafCount)
        {
            var demo        = new Demo();
            var cliftonTree = new DemoMerkleTree();

            demo.CreateTree(cliftonTree, leafCount);

            var appendTree = new EventMerkleTree();

            for (int i = 0; i < leafCount; i++)
            {
                var newLeafNode = EventMerkleNode.Create(i.ToString()).SetText(i.ToString("X"));
                appendTree.AppendLeaf(newLeafNode);
            }

            Assert.Equal(cliftonTree.RootNode.Hash.ToString(), appendTree.RootNode.Hash.ToString());
            if (leafCount > 1)
            {
                Assert.Equal(((DemoMerkleNode)cliftonTree.RootNode).Text, ((EventMerkleNode)appendTree.RootNode).Text);
            }
        }