public async Task ValidateBlockAfterExecuteAsync_Test()
        {
            var block = new Block
            {
                Header = new BlockHeader
                {
                    Height    = 1,
                    ExtraData = { }
                }
            };
            var result = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block);

            result.ShouldBeTrue();

            block  = _kernelTestHelper.GenerateBlock(8, HashHelper.ComputeFrom("test"));
            result = await _blockValidationProvider.ValidateBlockAfterExecuteAsync(block);

            result.ShouldBeFalse();

            block = _kernelTestHelper.GenerateBlock(9, HashHelper.ComputeFrom("test"), null,
                                                    new Dictionary <string, ByteString>
            {
                { ConsensusConstants.ConsensusExtraDataKey, ByteString.CopyFromUtf8("extra data") }
            });
            result = await _blockValidationProvider.ValidateBlockAfterExecuteAsync(block);

            result.ShouldBeTrue();
        }
        public async Task Validate_GenesisHeight_Test()
        {
            var block = new Block
            {
                Header = new BlockHeader
                {
                    Height = 1
                }
            };
            var validationRes = await _crossChainBlockValidationProvider.ValidateBlockAfterExecuteAsync(block);

            Assert.True(validationRes);
        }
예제 #3
0
        public async Task Validate_Block_AfterExecuteAsync()
        {
            var block1  = GenerateBlockInformation(1, true);
            var result1 = await _blockValidationProvider.ValidateBlockAfterExecuteAsync(block1);

            result1.ShouldBeTrue();

            var block2  = GenerateBlockInformation(10, false);
            var result2 = await _blockValidationProvider.ValidateBlockAfterExecuteAsync(block2);

            result2.ShouldBeFalse();

            var block3  = GenerateBlockInformation(10, true);
            var result3 = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block3);

            result3.ShouldBeTrue();
        }
예제 #4
0
        public async Task ValidateBlockAfterExecuteAsync_Test()
        {
            var block = new Block
            {
                Header = new BlockHeader
                {
                    Height    = 1,
                    ExtraData = { }
                }
            };
            var result = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block);

            result.ShouldBeTrue();

            block  = _kernelTestHelper.GenerateBlock(9, Hash.FromString("test"));
            result = await _blockValidationProvider.ValidateBlockAfterExecuteAsync(block);

            result.ShouldBeFalse();

            block  = _kernelTestHelper.GenerateBlock(9, Hash.FromString("test"), null, ByteString.CopyFromUtf8("extra data"));
            result = await _blockValidationProvider.ValidateBlockAfterExecuteAsync(block);

            result.ShouldBeTrue();
        }