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); } }
public Mock() { _interceptor = new Interceptor(); _proxyTypeBuilder = new ProxyTypeBuilder(typeof(TMock), _interceptor); }
public SetupBuilder(ProxyTypeBuilder proxyProxyTypeBuilder, Expression <Action <TMock> > expression) : this(proxyProxyTypeBuilder) { Expression = expression.Body; }
protected SetupBuilder(ProxyTypeBuilder proxyProxyTypeBuilder) { ProxyTypeBuilder = proxyProxyTypeBuilder; }