Example #1
0
        public void Should_call_the_method_only_once()
        {
            var tracker = new Tracker(3);

            IRetryPolicy retryPolicy = Retry.Filter <InvalidOperationException>(x => false).Immediate(5);

            Task task = ComposerFactory.Compose(composer => composer.Retry(retryPolicy, x => x.Execute(tracker.FaultingMethod)));

            Assert.Throws <InvalidOperationException>(async() => await task);

            Assert.AreEqual(1, tracker.CallCount);
        }