public async Task Test_Validate_Block_Before_Execute() { Block block = null; bool validateResult; validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeFalse(); block = new Block(); validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeFalse(); block.Header = new BlockHeader(); validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeFalse(); block.Body = new BlockBody(); validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeFalse(); block.Body.TransactionIds.Add(Hash.Empty); block.Header = _kernelTestHelper.GenerateBlock(9, Hash.FromString("PreviousBlockHash")).Header; validateResult = await _blockValidationProvider.ValidateBeforeAttachAsync(block); validateResult.ShouldBeFalse(); validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeTrue(); }
public async Task Test_Validate_Block_Before_Execute() { Block block = null; bool validateResult; validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeFalse(); block = new Block(); validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeFalse(); block.Header = new BlockHeader(); validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeFalse(); block.Body = new BlockBody(); validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeFalse(); block.Body.Transactions.Add(Hash.Empty); validateResult = await _blockValidationProvider.ValidateBeforeAttachAsync(block); validateResult.ShouldBeFalse(); block.Header.Time = DateTime.UtcNow.ToTimestamp(); block.Header.MerkleTreeRootOfTransactions = block.Body.CalculateMerkleTreeRoots(); validateResult = await _blockValidationProvider.ValidateBlockBeforeExecuteAsync(block); validateResult.ShouldBeTrue(); }