Next() public method

public Next ( ) : bool
return bool
Ejemplo n.º 1
0
 public async Task TestOnTimeoutShouldNotFireAsync()
 {
     var times     = 5;
     var generator = new Generator(times);
     await _target.TryAsync(() => generator.Next())
     .OnTimeout(() => Assert.Fail())
     .Until(t => t);
 }
Ejemplo n.º 2
0
        public void TestOnTimeoutShouldNotFire()
        {
            var times     = 5;
            var generator = new Generator(times);

            _target.Try(() => generator.Next())
            .OnTimeout(t => Assert.Fail())
            .Until(t => t);
        }
Ejemplo n.º 3
0
        public void TestTryUntilWithTimeLimitExceeded()
        {
            var times     = 5;
            var generator = new Generator(times + 1);

            Assert.That(() =>
                        _target.Try(() => generator.Next()).WithTimeLimit(RetryHelperTest.Interval * times).Until(t => t),
                        Throws.TypeOf <TimeoutException>());
        }
Ejemplo n.º 4
0
 public void TestTryUntilWithMaxTryCount()
 {
     var times = 5;
     var generator = new Generator(times);
     bool result = false;
     Expect(RetryHelperTest.CountTime(() =>
         result = _target.Try(() => generator.Next()).WithMaxTryCount(times + 1).Until(t => t)),
         EqualTo(RetryHelperTest.Interval * times).Within(RetryHelperTest.Tolerance));
     Expect(result, True);
 }
Ejemplo n.º 5
0
 public void TestOnSuccessAfterFiveTimes()
 {
     var times = 5;
     var generator = new Generator(times);
     var onSuccessTriggered = false;
     _target.Try(() => generator.Next())
            .OnSuccess(t => onSuccessTriggered = true)
            .Until(t => t);
     Expect(onSuccessTriggered, True);
 }
Ejemplo n.º 6
0
 public void TestOnTimeoutShouldNotFire()
 {
     var times = 5;
     var generator = new Generator(times);
     var onTimeoutTriggered = false;
     _target.Try(() => generator.Next())
            .OnTimeout(t => onTimeoutTriggered = true)
            .Until(t => t);
     Expect(onTimeoutTriggered, False);
 }
Ejemplo n.º 7
0
 public void TestOnFailureShouldNotFireIfSucceedAtFirstTime()
 {
     var times = 0;
     var generator = new Generator(times);
     var onFailureTriggered = 0;
     _target.Try(() => generator.Next())
            .OnFailure(t => onFailureTriggered++)
            .Until(t => t);
     Expect(onFailureTriggered, EqualTo(0));
 }
Ejemplo n.º 8
0
        public void TestOnFailureShouldNotFireIfSucceedAtFirstTime()
        {
            var times              = 0;
            var generator          = new Generator(times);
            var onFailureTriggered = 0;

            _target.Try(() => generator.Next())
            .OnFailure(t => onFailureTriggered++)
            .Until(t => t);
            Expect(onFailureTriggered, EqualTo(0));
        }
Ejemplo n.º 9
0
        public async Task TestOnFailureAsyncWithNoParameterAsync()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onFailureTriggered = 0;
            await _target.TryAsync(() => generator.Next())
            .OnFailure(async() => await Task.Run(() => onFailureTriggered++))
            .Until(t => t);

            Assert.That(onFailureTriggered, Is.EqualTo(times));
        }
Ejemplo n.º 10
0
        public void TestOnSuccessWithNoParameter()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onSuccessTriggered = false;

            _target.Try(() => generator.Next())
            .OnSuccess(() => onSuccessTriggered = true)
            .Until(t => t);
            Assert.That(onSuccessTriggered, Is.True);
        }
 public void TestTryUntilNoExceptionOfTypeAfterFiveTimes()
 {
     var times = 10;
     var generator = new Generator(times, true);
     bool result = false;
     Expect(RetryHelperTest.CountTime(() =>
         result = _target.Try(() => generator.Next()).UntilNoException<ApplicationException>()),
         EqualTo(RetryHelperTest.Interval * times).Within(RetryHelperTest.Tolerance));
     Expect(generator.TriedTimes, EqualTo(times + 1));
     Expect(result, True);
 }
 public void TestTryUntilNoExceptionOfTypeHavingOtherException()
 {
     var times = 10;
     var generator = new Generator(times, true);
     generator.RandomExceptionType = true;
     bool result = false;
     Expect(() =>
         result = _target.Try(() => generator.Next()).UntilNoException<ApplicationException>(),
         Throws.TypeOf<InvalidOperationException>());
     Expect(result, False);
 }
 public void TestTryUntilNoExceptionSuccessFirstTime()
 {
     var times = 0;
     var generator = new Generator(times);
     bool result = false;
     Expect(RetryHelperTest.CountTime(() =>
         result = _target.Try(() => generator.Next()).Until(t => t)),
         EqualTo(RetryHelperTest.Interval * times).Within(RetryHelperTest.Tolerance));
     Expect(generator.TriedTimes, EqualTo(times + 1));
     Expect(result, True);
 }
Ejemplo n.º 14
0
        public void TestTryUntilWithTryInterval()
        {
            var  times     = 5;
            var  generator = new Generator(times);
            bool result    = false;

            Expect(RetryHelperTest.CountTime(() =>
                                             result = _target.Try(() => generator.Next()).WithTryInterval(RetryHelperTest.Interval * 2).Until(t => t)),
                   EqualTo(RetryHelperTest.Interval * 2 * times).Within(RetryHelperTest.Tolerance));
            Expect(result, True);
        }
Ejemplo n.º 15
0
        public void TestTryUntilWithMaxTryCount()
        {
            var  times     = 5;
            var  generator = new Generator(times);
            bool result    = false;

            Assert.That(RetryHelperTest.MeasureTime(() =>
                                                    result = _target.Try(() => generator.Next()).WithMaxTryCount(times + 1).Until(t => t)),
                        Is.EqualTo(RetryHelperTest.Interval * times).Within(RetryHelperTest.Tolerance));
            Assert.That(result, Is.True);
        }
Ejemplo n.º 16
0
        public void TestOnSuccessAfterFiveTimes()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onSuccessTriggered = false;

            _target.Try(() => generator.Next())
            .OnSuccess(t => onSuccessTriggered = true)
            .Until(t => t);
            Expect(onSuccessTriggered, True);
        }
Ejemplo n.º 17
0
        public async Task TestOnFailureShouldNotFireIfSucceedAtFirstTimeAsync()
        {
            var times              = 0;
            var generator          = new Generator(times);
            var onFailureTriggered = 0;
            await _target.TryAsync(() => generator.Next())
            .OnFailure(() => onFailureTriggered++)
            .Until(t => t);

            Assert.That(onFailureTriggered, Is.EqualTo(0));
        }
Ejemplo n.º 18
0
        public void TestOnTimeoutShouldNotFire()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onTimeoutTriggered = false;

            _target.Try(() => generator.Next())
            .OnTimeout(t => onTimeoutTriggered = true)
            .Until(t => t);
            Expect(onTimeoutTriggered, False);
        }
Ejemplo n.º 19
0
        public async Task TestOnSuccessWithNoParameterAsync()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onSuccessTriggered = false;
            await _target.TryAsync(() => generator.Next())
            .OnSuccess(() => onSuccessTriggered = true)
            .Until(t => t);

            Assert.That(onSuccessTriggered, Is.True);
        }
Ejemplo n.º 20
0
        public void TestTryUntilNoExceptionSuccessFirstTime()
        {
            var  times     = 0;
            var  generator = new Generator(times);
            bool result    = false;

            Assert.That(RetryHelperTest.MeasureTime(() =>
                                                    result = _target.Try(() => generator.Next()).Until(t => t)),
                        Is.EqualTo(RetryHelperTest.Interval * times).Within(RetryHelperTest.Tolerance));
            Assert.That(generator.TriedTimes, Is.EqualTo(times + 1));
            Assert.That(result, Is.True);
        }
Ejemplo n.º 21
0
        public void TestTryUntilNoExceptionOfTypePassedAsParameterAfterFiveTimes()
        {
            var  times     = 10;
            var  generator = new Generator(times, true);
            bool result    = false;

            Assert.That(RetryHelperTest.MeasureTime(() =>
                                                    result = _target.Try(() => generator.Next()).UntilNoException(typeof(ApplicationException))),
                        Is.EqualTo(RetryHelperTest.Interval * times).Within(RetryHelperTest.Tolerance));
            Assert.That(generator.TriedTimes, Is.EqualTo(times + 1));
            Assert.That(result, Is.True);
        }
Ejemplo n.º 22
0
        public void TestTryUntilSuccessFirstTime()
        {
            var  times     = 0;
            var  generator = new Generator(times);
            bool result    = false;

            Expect(RetryHelperTest.CountTime(() =>
                                             result = _target.Try(() => generator.Next()).Until(t => t)),
                   EqualTo(RetryHelperTest.Interval * times).Within(RetryHelperTest.Tolerance));
            Expect(generator.TriedTimes, EqualTo(times + 1));
            Expect(result, True);
        }
Ejemplo n.º 23
0
 public void TestTryUntilWithMaxTryCountExceeded()
 {
     var times = 5;
     var generator = new Generator(times);
     bool result = false;
     Expect(RetryHelperTest.CountTime(() =>
         Expect(() =>
             result = _target.Try(() => generator.Next()).WithMaxTryCount(times).Until(t => t),
             Throws.TypeOf<TimeoutException>())),
         EqualTo(RetryHelperTest.Interval * (times - 1)).Within(RetryHelperTest.Tolerance));
     Expect(result, False);
 }
Ejemplo n.º 24
0
        public void TestOnSuccessShouldNotFire()
        {
            var times     = 5;
            var generator = new Generator(times);

            Assert.That(() =>
                        _target.Try(() => generator.Next())
                        .WithMaxTryCount(times - 1)
                        .OnSuccess(t => Assert.Fail())
                        .Until(t => t),
                        Throws.TypeOf <TimeoutException>());
        }
Ejemplo n.º 25
0
        public void TestTryUntilNoExceptionOfTypeAfterFiveTimes()
        {
            var  times     = 10;
            var  generator = new Generator(times, true);
            bool result    = false;

            Expect(RetryHelperTest.CountTime(() =>
                                             result = _target.Try(() => generator.Next()).UntilNoException <ApplicationException>()),
                   EqualTo(RetryHelperTest.Interval * times).Within(RetryHelperTest.Tolerance));
            Expect(generator.TriedTimes, EqualTo(times + 1));
            Expect(result, True);
        }
Ejemplo n.º 26
0
        public void TestTryUntilWithMaxTryCountExceeded()
        {
            var  times     = 5;
            var  generator = new Generator(times);
            bool result    = false;

            Expect(RetryHelperTest.CountTime(() =>
                                             Expect(() =>
                                                    result = _target.Try(() => generator.Next()).WithMaxTryCount(times).Until(t => t),
                                                    Throws.TypeOf <TimeoutException>())),
                   EqualTo(RetryHelperTest.Interval * (times - 1)).Within(RetryHelperTest.Tolerance));
            Expect(result, False);
        }
Ejemplo n.º 27
0
        public void TestTryUntilNoExceptionOfTypePassedAsParameterHavingOtherException()
        {
            var times     = 10;
            var generator = new Generator(times, true);

            generator.RandomExceptionType = true;
            bool result = false;

            Assert.That(() =>
                        result = _target.Try(() => generator.Next()).UntilNoException(typeof(ApplicationException)),
                        Throws.TypeOf <InvalidOperationException>());
            Assert.That(result, Is.False);
        }
Ejemplo n.º 28
0
        public void TestTryUntilNoExceptionOfTypeHavingOtherException()
        {
            var times     = 10;
            var generator = new Generator(times, true);

            generator.RandomExceptionType = true;
            bool result = false;

            Expect(() =>
                   result = _target.Try(() => generator.Next()).UntilNoException <ApplicationException>(),
                   Throws.TypeOf <InvalidOperationException>());
            Expect(result, False);
        }
Ejemplo n.º 29
0
 public void TestOnSuccessShouldNotFire()
 {
     var times = 5;
     var generator = new Generator(times);
     var onSuccessTriggered = false;
     Expect(() =>
         _target.Try(() => generator.Next())
                .WithMaxTryCount(times - 1)
                .OnSuccess(t => onSuccessTriggered = true)
                .Until(t => t),
         Throws.TypeOf<TimeoutException>());
     Expect(onSuccessTriggered, False);
 }
Ejemplo n.º 30
0
        public void TestOnTimeoutWithNoParameterAsync()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onTimeoutTriggered = false;

            Assert.ThrowsAsync <TimeoutException>(() =>
                                                  _target.TryAsync(() => generator.Next())
                                                  .WithMaxTryCount(times - 1)
                                                  .OnTimeout(() => onTimeoutTriggered = true)
                                                  .Until(t => t));
            Assert.That(onTimeoutTriggered, Is.True);
        }
Ejemplo n.º 31
0
 public void TestOnTimeoutAfterFiveTimes()
 {
     var times = 5;
     var generator = new Generator(times);
     var onTimeoutTriggered = false;
     Expect(() =>
         _target.Try(() => generator.Next())
                .WithMaxTryCount(times - 1)
                .OnTimeout(t => onTimeoutTriggered = true)
                .Until(t => t),
         Throws.TypeOf<TimeoutException>());
     Expect(onTimeoutTriggered, True);
 }
Ejemplo n.º 32
0
        public void TestOnSuccessShouldNotFireAsync()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onSuccessTriggered = false;

            Assert.ThrowsAsync <TimeoutException>(() =>
                                                  _target.TryAsync(() => generator.Next())
                                                  .WithMaxTryCount(times - 1)
                                                  .OnSuccess(t => onSuccessTriggered = true)
                                                  .Until(t => t));
            Assert.That(onSuccessTriggered, Is.False);
        }
Ejemplo n.º 33
0
        public void TestTryUntilNoExceptionAfterFiveTimes()
        {
            var times     = 10;
            var generator = new Generator(times, true);

            generator.RandomExceptionType = true;
            bool result = false;

            Assert.That(RetryHelperTest.MeasureTime(() =>
                                                    result = _target.Try(() => generator.Next()).UntilNoException()),
                        Is.EqualTo(RetryHelperTest.Interval * times).Within(RetryHelperTest.Tolerance));
            Assert.That(generator.TriedTimes, Is.EqualTo(times + 1));
            Assert.That(result, Is.True);
        }
Ejemplo n.º 34
0
        public async Task TestOnSuccessAfterFiveTimesAsync()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onSuccessTriggered = false;
            await _target.TryAsync(() => generator.Next())
            .OnSuccess(t => {
                Assert.IsTrue(t);
                onSuccessTriggered = true;
            })
            .Until(t => t);

            Assert.That(onSuccessTriggered, Is.True);
        }
Ejemplo n.º 35
0
        public void TestMultipleOnSuccess()
        {
            var times               = 5;
            var generator           = new Generator(times);
            var onSuccessTriggered1 = false;
            var onSuccessTriggered2 = false;

            _target.Try(() => generator.Next())
            .OnSuccess(t => onSuccessTriggered1 = true)
            .OnSuccess(t => onSuccessTriggered2 = true)
            .Until(t => t);
            Assert.That(onSuccessTriggered1, Is.True);
            Assert.That(onSuccessTriggered2, Is.True);
        }
Ejemplo n.º 36
0
 public void TestOnSuccessWithTriedCount()
 {
     var times = 5;
     var generator = new Generator(times);
     var onSuccessTriggered = false;
     _target.Try(() => generator.Next())
            .OnSuccess((t, count) =>
            {
                Expect(count, EqualTo(times + 1));
                onSuccessTriggered = true;
            })
            .Until(t => t);
     Expect(onSuccessTriggered, True);
 }
Ejemplo n.º 37
0
        public void TestOnSuccessShouldNotFire()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onSuccessTriggered = false;

            Expect(() =>
                   _target.Try(() => generator.Next())
                   .WithMaxTryCount(times - 1)
                   .OnSuccess(t => onSuccessTriggered = true)
                   .Until(t => t),
                   Throws.TypeOf <TimeoutException>());
            Expect(onSuccessTriggered, False);
        }
Ejemplo n.º 38
0
        public void TestOnTimeoutAfterFiveTimes()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onTimeoutTriggered = false;

            Expect(() =>
                   _target.Try(() => generator.Next())
                   .WithMaxTryCount(times - 1)
                   .OnTimeout(t => onTimeoutTriggered = true)
                   .Until(t => t),
                   Throws.TypeOf <TimeoutException>());
            Expect(onTimeoutTriggered, True);
        }
Ejemplo n.º 39
0
        public void TestOnFailureWithNoParameter()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onFailureTriggered = 0;

            _target.Try(() => generator.Next())
            .OnFailure(() =>
            {
                onFailureTriggered++;
            })
            .Until(t => t);
            Assert.That(onFailureTriggered, Is.EqualTo(times));
        }
Ejemplo n.º 40
0
 public void TestOnFailureAfterFiveTimes()
 {
     var times = 5;
     var generator = new Generator(times);
     var onFailureTriggered = 0;
     _target.Try(() => generator.Next())
            .OnFailure(t =>
            {
                Expect(t, False);
                onFailureTriggered++;
            })
            .Until(t => t);
     Expect(onFailureTriggered, EqualTo(times));
 }
Ejemplo n.º 41
0
 public void TestOnFailureWithTryCount()
 {
     var times = 5;
     var generator = new Generator(times);
     var onFailureTriggered = 0;
     _target.Try(() => generator.Next())
            .OnFailure((t, count) =>
            {
                Expect(t, False);
                Expect(count, EqualTo(++onFailureTriggered));
            })
            .Until(t => t);
     Expect(onFailureTriggered, EqualTo(times));
 }
Ejemplo n.º 42
0
        public async Task TestOnFailureWithTryCountAsync()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onFailureTriggered = 0;
            await _target.TryAsync(() => generator.Next())
            .OnFailure((t, count) =>
            {
                Assert.That(t, Is.False);
                Assert.That(count, Is.EqualTo(++onFailureTriggered));
            })
            .Until(t => t);

            Assert.That(onFailureTriggered, Is.EqualTo(times));
        }
Ejemplo n.º 43
0
        public async Task TestOnFailureAfterFiveTimesAsync()
        {
            var times              = 5;
            var generator          = new Generator(times);
            var onFailureTriggered = 0;
            await _target.TryAsync(() => generator.Next())
            .OnFailure(t =>
            {
                Assert.That(t, Is.False);
                onFailureTriggered++;
            })
            .Until(t => t);

            Assert.That(onFailureTriggered, Is.EqualTo(times));
        }
Ejemplo n.º 44
0
 public void TestOnTimeoutWithTriedCount()
 {
     var times = 5;
     var generator = new Generator(times);
     var onTimeoutTriggered = false;
     var maxTryCount = times - 1;
     Expect(() =>
         _target.Try(() => generator.Next())
                .WithMaxTryCount(maxTryCount)
                .OnTimeout((t, count) =>
                {
                    Expect(count, EqualTo(maxTryCount));
                    onTimeoutTriggered = true;
                })
                .Until(t => t),
         Throws.TypeOf<TimeoutException>());
     Expect(onTimeoutTriggered, True);
 }