Exemple #1
0
        public void MarkMainChainQuery_Should_Mark_First_Block_When_Blockchain_Has_Lenght_One()
        {
            var db    = GetDatabase_3();
            var query = new MarkMainChainQueryHandler(db, new GetHeadBlockQueryHandlerMock(db, "BLOCK_1"));

            var result = query.Handle(new MarkMainChainQuery()
            {
                IsLongRunning = false
            });

            Assert.True(result);
            Assert.True(db.BlockChain.Count(b => b.BlockHash == "GENESIS" && b.IsInMainChain == true) == 1);
            Assert.True(db.BlockChain.Count(b => b.BlockHash == "BLOCK_1" && b.IsInMainChain == true) == 1);
        }
Exemple #2
0
        public void MarkMainChainQuery_Should_Mark_Longest_Chain_Use_Case_No_Longer_Branches()
        {
            var db    = GetDatabase_1();
            var query = new MarkMainChainQueryHandler(db, new GetHeadBlockQueryHandlerMock(db, "BLOCK_3"));

            var result = query.Handle(new MarkMainChainQuery()
            {
                IsLongRunning = false
            });

            Assert.True(result);
            Assert.True(db.BlockChain.Count(b => b.BlockHash == "GENESIS" && b.IsInMainChain == true) == 1);
            Assert.True(db.BlockChain.Count(b => b.BlockHash == "BLOCK_1" && b.IsInMainChain == true) == 1);
            Assert.True(db.BlockChain.Count(b => b.BlockHash == "BLOCK_2" && b.IsInMainChain == true) == 1);
            Assert.True(db.BlockChain.Count(b => b.BlockHash == "BLOCK_3" && b.IsInMainChain == true) == 1);
            Assert.True(db.BlockChain.Count(b => b.BlockHash == "BLOCK_4" && b.IsInMainChain == false) == 1);
        }