Пример #1
0
        public FluentMock <T> ReturnsInSequence(params TResult[] values)
        {
            var returner = new InSequenceReturner <TResult>(values);

            switch (m_numArgs)
            {
            case 0:
                m_setup.Returns(returner.NextValue);
                break;

            case 1:
                m_setup.Returns(new Func <Object, TResult>((arg0) => returner.NextValue()));
                break;

            case 2:
                m_setup.Returns(new Func <Object, Object, TResult>((arg0, arg1) => returner.NextValue()));
                break;

            case 3:
                m_setup.Returns(new Func <Object, Object, Object, TResult>((arg0, arg1, arg2) => returner.NextValue()));
                break;

            case 4:
                m_setup.Returns(new Func <Object, Object, Object, Object, TResult>((arg0, arg1, arg2, arg3) => returner.NextValue()));
                break;

            case 5:
                m_setup.Returns(new Func <Object, Object, Object, Object, Object, TResult>((arg0, arg1, arg2, arg3, arg4) => returner.NextValue()));
                break;

            case 6:
                m_setup.Returns(new Func <Object, Object, Object, Object, Object, Object, TResult>((arg0, arg1, arg2, arg3, arg4, arg5) => returner.NextValue()));
                break;

            default:
                throw new TestFirstException("This is crazy, why do you have methods with more than 6 args? Currently only support up to 6. Time to refactor!");
            }

            return(m_mock);
        }
 public FluentMock<T> ReturnsInSequence(params TProperty[] values)
 {
     var returner = new InSequenceReturner<TProperty>(values);
     return Returns(returner.NextValue);
 }