BitSharper.Test.TestUtils.CreateFakeBlock C# (CSharp) Method

CreateFakeBlock() public static method

public static CreateFakeBlock ( NetworkParameters @params, IBlockStore blockStore ) : BlockPair
@params NetworkParameters
blockStore IBlockStore
return BlockPair
        public static BlockPair CreateFakeBlock(NetworkParameters @params, IBlockStore blockStore, params Transaction[] transactions)
        {
            var b = MakeTestBlock(@params, blockStore);
            // Coinbase tx was already added.
            foreach (var tx in transactions)
                b.AddTransaction(tx);
            b.Solve();
            var pair = new BlockPair();
            pair.Block = b;
            pair.StoredBlock = blockStore.GetChainHead().Build(b);
            blockStore.Put(pair.StoredBlock);
            blockStore.SetChainHead(pair.StoredBlock);
            return pair;
        }

Usage Example

Example #1
0
        public void TestRunUnconnectedBlock()
        {
            var b1 = TestUtils.CreateFakeBlock(_unitTestParams, _blockStore).Block;

            _blockChain.Add(b1);

            var prev  = TestUtils.MakeSolvedTestBlock(_unitTestParams, _blockStore);
            var block = TestUtils.MakeSolvedTestBlock(_unitTestParams, prev);

            _control.Setup(x => x.ReadMessage()).Returns(() => block, ReadFinalMessage).Verifiable();

            var message = CaptureGetBlocksMessage();

            RunPeerAndVerify();

            var expectedLocator = new List <Sha256Hash>();

            expectedLocator.Add(b1.Hash);
            expectedLocator.Add(_unitTestParams.GenesisBlock.Hash);

            Assert.AreEqual(message.Value.Locator, expectedLocator);
            Assert.AreEqual(message.Value.StopHash, block.Hash);
        }
All Usage Examples Of BitSharper.Test.TestUtils::CreateFakeBlock