Beispiel #1
0
        public void Validate_CorrectTree_SuccessValidationResult(HashSet <Transaction> transactions)
        {
            // Arrange
            var tree = new MerkleTreeProvider().GetMerkleTree(transactions);

            // Act
            var result = _merkleTreeValidator.Validate(tree);

            // Assert
            Assert.True(result.IsSuccess);
            Assert.NotNull(result.Errors);
            Assert.Empty(result.Errors);
        }
Beispiel #2
0
        public void Validate_WrongTree_ErrorValidationResult(HashSet <Transaction> transactions)
        {
            // Arrange
            var tree = new MerkleTreeProvider().GetMerkleTree(transactions);

            tree.Hash = "00000000000000";

            // Act
            var result = _merkleTreeValidator.Validate(tree);

            // Assert
            Assert.False(result.IsSuccess);
            Assert.NotNull(result.Errors);
            Assert.NotEmpty(result.Errors);
        }
Beispiel #3
0
        public void Validate_WrongTreeHash_ErrorValidationResult()
        {
            // Arrange
            var tree = new MerkleTreeProvider().GetMerkleTree(
                TransactionDataSet.TransactionData.Last().First() as HashSet <Transaction>);

            ((Model.Transaction.Node)tree.LeftNode).LeftNode.Hash = "000";

            // Act
            var result = _merkleTreeValidator.Validate(tree);

            // Assert
            Assert.False(result.IsSuccess);
            Assert.NotNull(result.Errors);
            Assert.NotEmpty(result.Errors);
        }
Beispiel #4
0
        public void Validate_WrongLeafHash_ErrorValidationResult()
        {
            // Arrange
            var tree = new MerkleTreeProvider().GetMerkleTree(
                TransactionDataSet.TransactionData.First().First() as HashSet <Transaction>);

            tree.Hash          = "2ac9a6746aca543af8dff39894cfe8173afba21eb01c6fae33d52947222855ef";
            tree.LeftNode.Hash = "000";

            // Act
            var result = _merkleTreeValidator.Validate(tree);

            // Assert
            Assert.False(result.IsSuccess);
            Assert.NotNull(result.Errors);
            Assert.NotEmpty(result.Errors);
            Assert.Equal("Wrong hash for transaction with id: 1", result.Errors.First());
        }
 public MerkleTreeProviderTests()
 {
     _merkleTreeProvider = new MerkleTreeProvider();
 }