public PropertyBehaviorRule(MethodInfo propertyGetterOrSetter, FakeObject fakeObject) { this.fakeObject = fakeObject; var property = GetProperty(propertyGetterOrSetter); this.propertySetter = property.GetSetMethod(); this.propertyGetter = property.GetGetMethod(true); }
protected override void OnAddInterceptedCall(FakeObject fakeObject, ICompletedFakeObjectCall call) { List <ICompletedFakeObjectCall> calls; if (!this.recordedCalls.TryGetValue(fakeObject, out calls)) { calls = new List <ICompletedFakeObjectCall>(); this.recordedCalls.Add(fakeObject, calls); } calls.Add(call); }
protected override void OnAddRule(FakeObject fakeObject, CallRuleMetadata rule) { List <CallRuleMetadata> rules; if (!this.rulesField.TryGetValue(fakeObject, out rules)) { rules = new List <CallRuleMetadata>(); this.rulesField.Add(fakeObject, rules); } rules.Add(rule); }
public FakeObjectInterceptor(FakeObject fake) { this.fake = fake; }
private ProxyResult GenerateProxyWithArgumentsForConstructor(Type typeOfFake, IEnumerable <object> argumentsForConstructor, FakeObject fake) { var result = this.proxyGenerator.GenerateProxy(typeOfFake, fake, argumentsForConstructor); if (!result.ProxyWasSuccessfullyCreated) { ThrowCanNotGenerateFakeException(typeOfFake); } return(result); }
protected abstract void OnAddInterceptedCall(FakeObject fakeObject, ICompletedFakeObjectCall call);
protected abstract void OnAddRule(FakeObject fakeObject, CallRuleMetadata rule);
internal abstract IEnumerable <ICompletedFakeObjectCall> GetCallsWithinScope(FakeObject fakeObject);
/// <summary> /// Adds a fake object call to the current scope. /// </summary> /// <param name="fakeObject">The fake object.</param> /// <param name="rule">The rule to add.</param> internal void AddRule(FakeObject fakeObject, CallRuleMetadata rule) { fakeObject.AllUserRules.AddFirst(rule); this.OnAddRule(fakeObject, rule); }
/// <summary> /// Adds an intercepted call to the current scope. /// </summary> /// <param name="fakeObject">The fake object.</param> /// <param name="call">The call that is intercepted.</param> internal void AddInterceptedCall(FakeObject fakeObject, ICompletedFakeObjectCall call) { fakeObject.AllRecordedCalls.Add(call); this.OnAddInterceptedCall(fakeObject, call); }
internal override IEnumerable <ICompletedFakeObjectCall> GetCallsWithinScope(FakeObject fakeObject) { List <ICompletedFakeObjectCall> calls; if (!this.recordedCalls.TryGetValue(fakeObject, out calls)) { calls = new List <ICompletedFakeObjectCall>(); } return(calls); }
protected override void OnAddInterceptedCall(FakeObject fakeObject, ICompletedFakeObjectCall call) { // Do nothing }
protected override void OnAddRule(FakeObject fakeObject, CallRuleMetadata rule) { // Do nothing }
internal override IEnumerable <ICompletedFakeObjectCall> GetCallsWithinScope(FakeObject fakeObject) { return(fakeObject.AllRecordedCalls); }