CountTime() public static method

public static CountTime ( Action action ) : long
action Action
return long
Esempio n. 1
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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
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);
        }