コード例 #1
0
        public void Throws_if_adding_new_block_fails()
        {
            NewBlockMessage newBlockMessage = new NewBlockMessage();

            newBlockMessage.Block           = Build.A.Block.WithParent(_genesisBlock).TestObject;
            newBlockMessage.TotalDifficulty = _genesisBlock.Difficulty + newBlockMessage.Block.Difficulty;

            HandleIncomingStatusMessage();

            IByteBuffer getBlockHeadersPacket = _svc.ZeroSerialize(newBlockMessage);

            getBlockHeadersPacket.ReadByte();

            _syncManager.WhenForAnyArgs(w => w.AddNewBlock(null, _handler)).Do(ci => throw new Exception());
            Assert.Throws <Exception>(
                () => _handler.HandleMessage(
                    new ZeroPacket(getBlockHeadersPacket)
            {
                PacketType = Eth62MessageCode.NewBlock
            }));
        }