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); }
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); }