Exemple #1
0
        internal static SetupSequencePhrase <TResult> SetupSequence <TResult>(Mock mock, LambdaExpression expression)
        {
            if (expression.IsProperty())
            {
                var prop = expression.ToPropertyInfo();
                Guard.CanRead(prop);

                var propGet = prop.GetGetMethod(true);
                ThrowIfSetupExpressionInvolvesUnsupportedMember(expression, propGet);
                ThrowIfSetupMethodNotVisibleToProxyFactory(propGet);

                var setup      = new SequenceMethodCall(mock, expression, propGet, new Expression[0]);
                var targetMock = GetTargetMock(((MemberExpression)expression.Body).Expression, mock);
                targetMock.Setups.Add(setup);
                return(new SetupSequencePhrase <TResult>(setup));
            }
            else
            {
                var(obj, method, args) = expression.GetCallInfo(mock);
                var setup      = new SequenceMethodCall(mock, expression, method, args);
                var targetMock = GetTargetMock(obj, mock);
                targetMock.Setups.Add(setup);
                return(new SetupSequencePhrase <TResult>(setup));
            }
        }
Exemple #2
0
        internal static SetupSequencePhrase SetupSequence(Mock mock, LambdaExpression expression)
        {
            var(obj, method, args) = expression.GetCallInfo(mock);
            var setup      = new SequenceMethodCall(mock, expression, method, args);
            var targetMock = GetTargetMock(obj, mock);

            targetMock.Setups.Add(setup);
            return(new SetupSequencePhrase(setup));
        }
Exemple #3
0
        internal static void VerifyVoid(Mock mock, LambdaExpression expression, Times times, string failMessage)
        {
            Guard.NotNull(times, nameof(times));

            var(obj, method, args) = expression.GetCallInfo(mock);
            ThrowIfVerifyExpressionInvolvesUnsupportedMember(expression, method);

            var expectation = new InvocationShape(method, args);

            VerifyCalls(GetTargetMock(obj, mock), expectation, expression, times, failMessage);
        }
Exemple #4
0
        private static MethodCall SetupVoidPexProtected(Mock mock, LambdaExpression expression, Condition condition)
        {
            var(obj, method, args) = expression.GetCallInfo(mock);

            ThrowIfSetupExpressionInvolvesUnsupportedMember(expression, method);
            ThrowIfSetupMethodNotVisibleToProxyFactory(method);
            var setup = new MethodCall(mock, condition, expression, method, args);

            var targetMock = GetTargetMock(obj, mock);

            targetMock.Setups.Add(setup);

            return(setup);
        }