Beispiel #1
0
            public AfterBlock Processed(Block block)
            {
                _headBefore = _blockTree.Head?.Hash;
                ManualResetEvent processedEvent = new ManualResetEvent(false);
                bool             wasProcessed   = false;

                _blockProcessor.BlockProcessed += (sender, args) =>
                {
                    if (args.Block.Hash == block.Hash)
                    {
                        wasProcessed = true;
                        processedEvent.Set();
                    }
                };

                _logger.Info($"Waiting for {block.ToString(Block.Format.Short)} to process");
                _blockProcessor.Allow(block.Hash);
                processedEvent.WaitOne(AfterBlock.ProcessingWait);
                Assert.True(wasProcessed, $"Expected this block to get processed but it was not: {block.ToString(Block.Format.Short)}");

                return(new AfterBlock(_logManager, this, block));
            }