Exemple #1
0
        private static IReturnsResult <TMock> DelayedResult <TMock, TResult>(IReturns <TMock, ValueTask <TResult> > mock,
                                                                             TResult value, TimeSpan delay)
            where TMock : class
        {
            Guard.Positive(delay);

            return(mock.Returns(() =>
            {
                return new ValueTask <TResult>(Task.Delay(delay).ContinueWith(t => value));
            }));
        }
Exemple #2
0
        private static IReturnsResult <TMock> DelayedException <TMock, TResult>(IReturns <TMock, ValueTask <TResult> > mock,
                                                                                Exception exception, TimeSpan delay)
            where TMock : class
        {
            Guard.Positive(delay);

            var tcs = new TaskCompletionSource <TResult>();

            Task.Delay(delay).ContinueWith(t => tcs.SetException(exception));

            return(mock.Returns(new ValueTask <TResult>(tcs.Task)));
        }
Exemple #3
0
        private static IReturnsResult <TMock> DelayedResult <TMock, TResult>(IReturns <TMock, Task <TResult> > mock,
                                                                             TResult value, TimeSpan delay)
            where TMock : class
        {
            Guard.Positive(delay);

            var tcs = new TaskCompletionSource <TResult>();

            Task.Delay(delay).ContinueWith(t => tcs.SetResult(value));

            return(mock.Returns(tcs.Task));
        }