Example #1
0
        public void MediaRetryPolicyTestExecuteAsyncRetryHasBeenAdaptedOnce()
        {
            var adapter             = new TestRetryAdapter();
            MediaRetryPolicy target = new TestMediaServicesClassFactory(null).GetSaveChangesRetryPolicy(adapter);

            int exceptionCount = 2;
            int expected       = 10;
            var fakeException  = new WebException("test", WebExceptionStatus.ConnectionClosed);

            Func <int> func = () =>
            {
                if (--exceptionCount > 0)
                {
                    throw fakeException;
                }
                return(expected);
            };

            var task = target.ExecuteAsync(() => Task.Factory.StartNew <int>(() => func()));

            Assert.AreEqual(expected, task.Result);
            Assert.AreEqual(0, exceptionCount);
            Assert.AreEqual(1, adapter.NumberOfAdaptCalled);
            Assert.AreEqual(2, adapter.FuncExecutedCountByExecuteAsync1);
        }
Example #2
0
        public void MediaRetryPolicyTestExecuteActionAdapter()
        {
            var adapter             = new TestRetryAdapter();
            MediaRetryPolicy target = new TestMediaServicesClassFactory(null).GetSaveChangesRetryPolicy(adapter);

            int exceptionCount = 2;
            int expected       = 10;
            var fakeException  = new WebException("test", WebExceptionStatus.ConnectionClosed);

            Func <int> func = () =>
            {
                if (--exceptionCount > 0)
                {
                    throw fakeException;
                }
                return(expected);
            };


            Assert.AreEqual(expected, target.ExecuteAction(func));
            Assert.AreEqual(2, adapter.FuncExecutedCountByExecuteAction);
            Assert.AreEqual(1, adapter.NumberOfAdaptCalled);
        }