public void ResetInterval()
        {
            // Arrange
            var minInterval = TimeSpan.FromSeconds(1);
            var sut         = new StubInterval(minInterval, TimeSpan.FromSeconds(5));

            CalculateNewInterval(amount: 2, request: sut);

            // Act
            sut.ResetInterval();

            // Assert
            Assert.Equal(minInterval, sut.CurrentInterval);
        }
        public void CanCalculateNewInterval(int calculationCount)
        {
            // Arrange
            TimeSpan minInterval = TimeSpan.FromSeconds(1);
            TimeSpan maxInterval = TimeSpan.FromSeconds(5);
            var      sut         = new StubInterval(minInterval, maxInterval);

            // Act
            CalculateNewInterval(calculationCount, sut);

            // Assert
            TimeSpan actualInterval   = sut.CurrentInterval;
            TimeSpan expectedInterval = TimeSpan.FromSeconds(Math.Pow(1.75, calculationCount - 1));

            Assert.Equal(expectedInterval, actualInterval);
        }