예제 #1
0
 public Unpeg(IRandomnessHandler randomnessHandler, IChatHelper chatHelper, IBackgroundTaskQueue backgroundTaskQueue, IAsyncDelayer asyncDelayer, ILogger <Unpeg> logger)
 {
     _randomnessHandler   = randomnessHandler;
     _chatHelper          = chatHelper;
     _backgroundTaskQueue = backgroundTaskQueue;
     _asyncDelayer        = asyncDelayer;
     _logger = logger;
 }
예제 #2
0
        public UnpegTests()
        {
            _randomnessHandler = Substitute.For <IRandomnessHandler>();
            _randomnessHandler.Random.Returns(Substitute.For <Random>());
            _chatHelper = Substitute.For <IChatHelper>();
            _chatHelper.Messages.Returns(Substitute.For <IMessageHandler>());
            _asyncDelayer = Substitute.For <IAsyncDelayer>();
            _asyncDelayer.Delay(Arg.Any <TimeSpan>(), Arg.Any <CancellationToken>())
            .ReturnsForAnyArgs(Task.CompletedTask);
            var backgroundTaskQueue = Substitute.For <IBackgroundTaskQueue>();

            backgroundTaskQueue
            .WhenForAnyArgs(x => x.QueueBackgroundWorkItem(Arg.Any <Func <CancellationToken, Task> >()))
            .Do(async x => await((Func <CancellationToken, Task>)x[0])(new CancellationToken()));
            _subject = new Unpeg(_randomnessHandler, _chatHelper, backgroundTaskQueue, _asyncDelayer,
                                 Substitute.For <ILogger <Unpeg> >());
        }