public void GetInterval_Should_Return_1_Hour()
        {
            // arrange
            var target = new ExponentialInterval <Hours>(1);

            // act
            var actual = target.GetInterval(10);

            // assert
            Assert.Equal(TimeSpan.FromHours(1), actual);
        }
        public void GetInterval_Should_Return_8_Seconds()
        {
            // arrange
            var target = new ExponentialInterval <Seconds>(2);

            // act
            var actual = target.GetInterval(3);

            // assert
            Assert.Equal(TimeSpan.FromSeconds(8), actual);
        }
        public void GetInterval_Should_Return_25_Minutes()
        {
            // arrange
            var target = new ExponentialInterval <Minutes>(5);

            // act
            var actual = target.GetInterval(2);

            // assert
            Assert.Equal(TimeSpan.FromMinutes(25), actual);
        }
示例#4
0
        public async Task <T> DequeueAsync(CancellationToken cancellationToken)
        {
            var interval = new ExponentialInterval(_minDequeueRetryDelay, _maxDequeueRetryDelay);

            while (true)
            {
                cancellationToken.ThrowIfCancellationRequested();
                var eventDatas = await _receiver.ReceiveAsync(1, interval.Interval);
            }

            throw new NotImplementedException();
        }