public void Calculate_InitialDelayOfZeroUsesDefault_Test()
        {
            // Arrange
            var sut     = new ExponentialBackOffDelayStrategy(TimeSpan.FromHours(1), TimeSpan.Zero);
            var results = new List <int>();

            // Act
            for (var i = 1; i <= 6; i++)
            {
                results.Add((int)sut.Calculate(i).TotalSeconds);
            }

            // Assert
            results.Should().BeEquivalentTo(new[] { 100, 400, 900, 1600, 2500, 3600 });
        }
        public void Calculate_CustomInitialBackoffDelaySeconds_Test(int initialDelay, int[] delays)
        {
            // Arrange
            var sut     = new ExponentialBackOffDelayStrategy(TimeSpan.FromHours(1), TimeSpan.FromSeconds(initialDelay));
            var results = new List <int>();

            // Act
            for (var i = 1; i <= 6; i++)
            {
                results.Add((int)sut.Calculate(i).TotalSeconds);
            }

            // Assert
            results.Should().BeEquivalentTo(delays);
        }