Exemplo n.º 1
0
        public void CreateValidBlock()
        {
            // Arrange

            // Act
            var block = new PocBlock(data);

            // Assert
            Assert.IsNotNull(block);
            Assert.AreEqual(data, block.Data);
        }
Exemplo n.º 2
0
        public void CreateAndMineBlock()
        {
            // Arrange
            var block = new PocBlock(data);

            // Act
            block.MineBlock(4);

            // Assert
            Assert.IsNotNull(block);
            Assert.IsNotNull(block.Nonce);
            Assert.AreEqual(data, block.Data);
        }
Exemplo n.º 3
0
        public void CreateValidChain()
        {
            // Arrange
            var chain = new Chain();

            // Act
            var firstBlock = new PocBlock("test");

            chain.AddBlock(firstBlock);

            var secondBlock = new PocBlock("test2");

            chain.AddBlock(secondBlock);

            // Assert
            Assert.IsTrue(chain.IsChainValid());
        }
Exemplo n.º 4
0
        public void GetLatestBlock_GetsLatestBlock()
        {
            // Arrange
            var chain = new Chain();

            // Act
            var firstBlock = new PocBlock("test");

            chain.AddBlock(firstBlock);

            var secondBlock = new PocBlock("test2");

            chain.AddBlock(secondBlock);

            // Assert
            Assert.IsTrue(chain.IsChainValid());
            Assert.AreEqual(secondBlock, chain.GetLatestBlock());
        }
Exemplo n.º 5
0
        public void TemperCreatesInvalidChain()
        {
            // Arrange
            var chain = new Chain();

            // Act
            var firstBlock = new PocBlock("test");

            chain.AddBlock(firstBlock);

            var secondBlock = new PocBlock("test2");

            chain.AddBlock(secondBlock);

            var thirdBlock = new PocBlock("test3");

            chain.AddBlock(thirdBlock);

            chain.Blocks[0] = thirdBlock;

            // Assert
            Assert.IsFalse(chain.IsChainValid());
        }