Пример #1
0
        protected virtual void MockImplementation()
        {
            var methodCallExpressions = Expression as MethodCallExpression;

            if (methodCallExpressions != null)
            {
                MethodName = methodCallExpressions.Method.Name;
                Parameters = methodCallExpressions.Method.GetParameters().Select(x => x.ParameterType).ToArray();
            }

            var memberExpression = Expression as MemberExpression;
            var propertyInfo     = memberExpression?.Member as PropertyInfo;

            if (propertyInfo != null)
            {
                MethodName = propertyInfo.GetMethod.Name;
                Parameters = new Type[] { };
            }

            if (string.IsNullOrWhiteSpace(MethodName))
            {
                throw new NotSupportedException($"Expression {Expression} is not supported.");
            }

            if (ThrowsException != null)
            {
                ProxyTypeBuilder.MockMethod(MethodName, Parameters, ThrowsException);
            }
        }
Пример #2
0
 public Mock()
 {
     _interceptor      = new Interceptor();
     _proxyTypeBuilder = new ProxyTypeBuilder(typeof(TMock), _interceptor);
 }
Пример #3
0
 public SetupBuilder(ProxyTypeBuilder proxyProxyTypeBuilder, Expression <Action <TMock> > expression)
     : this(proxyProxyTypeBuilder)
 {
     Expression = expression.Body;
 }
Пример #4
0
 protected SetupBuilder(ProxyTypeBuilder proxyProxyTypeBuilder)
 {
     ProxyTypeBuilder = proxyProxyTypeBuilder;
 }