private static SetterMethodCall <T, TProperty> SetupSetPexProtected <T, TProperty>( Mock <T> mock, Action <T> setterExpression, Condition condition) where T : class { return(SetupSetImpl <T, SetterMethodCall <T, TProperty> >( mock, setterExpression, (m, expr, method, value) => { var setup = new SetterMethodCall <T, TProperty>(m, condition, expr, method, value[0]); m.Setups.Add(setup); return setup; })); }
internal static void VerifySet <T, TProperty>( Mock mock, Expression <Func <T, TProperty> > expression, Times times, string failMessage) where T : class { var method = expression.ToPropertyInfo().SetMethod; ThrowIfVerifyNonVirtual(expression, method); var expected = new SetterMethodCall <T, TProperty>(mock, expression, method) { FailMessage = failMessage }; VerifyCalls(GetInterceptor(((MemberExpression)expression.Body).Expression, mock), expected, expression, times); }
internal static SetterMethodCall <T, TProperty> SetupSet <T, TProperty>( Mock <T> mock, Action <T> setterExpression, Condition condition) where T : class { return(PexProtector.Invoke(() => { return SetupSetImpl <T, SetterMethodCall <T, TProperty> >( mock, setterExpression, (m, expr, method, value) => { var call = new SetterMethodCall <T, TProperty>(m, condition, expr, method, value[0]); m.Interceptor.AddCall(call, SetupKind.PropertySet); return call; }); })); }
internal static void VerifySet <T, TProperty>( Mock mock, Expression <Func <T, TProperty> > expression, TProperty value, Times times, string failMessage) where T : class { var method = expression.ToPropertyInfo().SetMethod; ThrowIfVerifyExpressionInvolvesUnsupportedMember(expression, method); var expected = new SetterMethodCall <T, TProperty>(mock, expression, method, value) { FailMessage = failMessage }; VerifyCalls(GetTargetMock(((MemberExpression)expression.Body).Expression, mock), expected, expression, times); }
internal static SetterMethodCall <T, TProperty> SetupSet <T, TProperty>( Mock <T> mock, Expression <Func <T, TProperty> > expression) where T : class { var prop = expression.ToPropertyInfo(); ThrowIfPropertyNotWritable(prop); var propSet = prop.GetSetMethod(true); ThrowIfCantOverride(expression, propSet); var call = new SetterMethodCall <T, TProperty>(mock, expression, propSet); var targetInterceptor = GetInterceptor(((MemberExpression)expression.Body).Expression, mock); targetInterceptor.AddCall(call, SetupKind.PropertySet); return(call); }
internal static SetterMethodCall <T, TProperty> SetupSet <T, TProperty>( Mock mock, Expression <Func <T, TProperty> > expression, TProperty value) where T : class { var prop = expression.ToPropertyInfo(); ThrowIfPropertyNotWritable(prop); var setter = prop.SetMethod; ThrowIfSetupExpressionInvolvesUnsupportedMember(expression, setter); var setup = new SetterMethodCall <T, TProperty>(mock, expression, setter, value); var targetMock = GetTargetMock(((MemberExpression)expression.Body).Expression, mock); targetMock.Setups.Add(setup); return(setup); }
internal static SetterMethodCall <T, TProperty> SetupSet <T, TProperty>( Mock <T> mock, Expression <Func <T, TProperty> > expression) where T : class { var prop = expression.ToPropertyInfo(); Guard.CanWrite(prop); var propSet = prop.GetSetMethod(true); ThrowIfSetupExpressionInvolvesUnsupportedMember(expression, propSet); ThrowIfSetupMethodNotVisibleToProxyFactory(propSet); var setup = new SetterMethodCall <T, TProperty>(mock, expression, propSet); var targetMock = GetTargetMock(((MemberExpression)expression.Body).Expression, mock); targetMock.Setups.Add(setup); return(setup); }