public BlocksSynchronizerTests()
 {
     this.exceptionHandler = new Mock <IBackgroundServiceExceptionHandler>();
     this.logger           = Substitute.For <ILogger <BlocksSynchronizer> >();
     this.retriever        = Substitute.For <IBlocksRetriever>();
     this.storage          = Substitute.For <IBlocksStorage>();
     this.listener1        = Substitute.For <IBlockListener>();
     this.listener2        = Substitute.For <IBlockListener>();
     this.subject          = new BlocksSynchronizer(
         this.exceptionHandler.Object,
         ZcoinNetworks.Instance.Regtest,
         this.logger,
         this.retriever,
         this.storage,
         new[] { this.listener1, this.listener2 }
         );
 }
Beispiel #2
0
        public BlocksSynchronizer(
            IBackgroundServiceExceptionHandler exceptionHandler,
            Network network,
            ILogger <BlocksSynchronizer> logger,
            IBlocksRetriever retriever,
            IBlocksStorage storage,
            IEnumerable <IBlockListener> listeners)
            : base(exceptionHandler)
        {
            if (network == null)
            {
                throw new ArgumentNullException(nameof(network));
            }

            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            if (retriever == null)
            {
                throw new ArgumentNullException(nameof(retriever));
            }

            if (storage == null)
            {
                throw new ArgumentNullException(nameof(storage));
            }

            if (listeners == null)
            {
                throw new ArgumentNullException(nameof(listeners));
            }

            this.logger       = logger;
            this.retriever    = retriever;
            this.storage      = storage;
            this.listeners    = listeners;
            this.chainNetwork = network;
        }