/Atlassian.Jira.Test/MoqExtensions.cs
C# | 33 lines | 31 code | 2 blank | 0 comment | 1 complexity | 284ef24bdbc53da4f6dc683868dbe55e MD5 | raw file
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using Moq.Language.Flow;
- using System.Collections;
-
- namespace Atlassian.Jira.Test
- {
- public static class MoqExtensions
- {
- public static void ReturnsInOrder<T, TResult>(this ISetup<T, TResult> setup,
- params TResult[] results) where T : class
- {
- setup.Returns(new Queue<TResult>(results).Dequeue);
- }
-
- public static void ReturnsInOrder<T, TResult>(this ISetup<T, TResult> setup,
- params object[] results) where T : class
- {
- var queue = new Queue(results);
- setup.Returns(() =>
- {
- var result = queue.Dequeue();
- if (result is Exception)
- {
- throw result as Exception;
- }
- return (TResult)result;
- });
- }
- }
- }