コード例 #1
0
            public void Apply(IInterceptedFakeObjectCall fakeObjectCall)
            {
                var newRule = new CallRuleMetadata
                                  {
                                      CalledNumberOfTimes = 1,
                                      Rule = new PropertyBehaviorRule(fakeObjectCall.Method, this.FakeManager) { Value = fakeObjectCall.Arguments[0] }
                                  };

                this.FakeManager.allUserRulesField.AddFirst(newRule);
            }
コード例 #2
0
            public void Apply(IInterceptedFakeObjectCall fakeObjectCall)
            {
                var newRule = new CallRuleMetadata
                                  {
                                      Rule = new PropertyBehaviorRule(fakeObjectCall.Method, FakeManager) { Value = CreateFake(fakeObjectCall.Method.ReturnType) },
                                      CalledNumberOfTimes = 1
                                  };

                this.FakeManager.allUserRulesField.AddFirst(newRule);
                newRule.Rule.Apply(fakeObjectCall);
            }
コード例 #3
0
            public void Apply(IInterceptedFakeObjectCall fakeObjectCall)
            {
                Guard.AgainstNull(fakeObjectCall, "fakeObjectCall");

                var newRule = new CallRuleMetadata
                                  {
                                      CalledNumberOfTimes = 1,
                                      Rule = new PropertyBehaviorRule(fakeObjectCall.Method, this.fakeManager)
                                                 {
                                                     Indices = fakeObjectCall.Arguments.Take(fakeObjectCall.Arguments.Count - 1).ToArray(),
                                                     Value = fakeObjectCall.Arguments.Last()
                                                 }
                                  };

                this.fakeManager.allUserRulesField.AddFirst(newRule);
            }
コード例 #4
0
            public void Apply(IInterceptedFakeObjectCall fakeObjectCall)
            {
                Guard.AgainstNull(fakeObjectCall, nameof(fakeObjectCall));

                var newRule = new CallRuleMetadata
                                  {
                                      Rule = new PropertyBehaviorRule(fakeObjectCall.Method, this.fakeManager)
                                      {
                                          Value = fakeObjectCall.GetDefaultReturnValue(),
                                          Indices = fakeObjectCall.Arguments.ToArray(),
                                      },
                                      CalledNumberOfTimes = 1
                                  };

                this.fakeManager.AllUserRules.AddFirst(newRule);
                newRule.Rule.Apply(fakeObjectCall);
            }
コード例 #5
0
            public void Apply(IInterceptedFakeObjectCall fakeObjectCall)
            {
                Guard.AgainstNull(fakeObjectCall, "fakeObjectCall");

                var newRule = new CallRuleMetadata
                                  {
                                      Rule = new PropertyBehaviorRule(fakeObjectCall.Method, FakeManager)
                                      {
                                          Value = CreateFake(fakeObjectCall.Method.ReturnType),
                                          Indices = fakeObjectCall.Arguments.ToArray(),
                                      },
                                      CalledNumberOfTimes = 1
                                  };

                this.FakeManager.allUserRulesField.AddFirst(newRule);
                newRule.Rule.Apply(fakeObjectCall);
            }
コード例 #6
0
 private void MoveRuleToFront(CallRuleMetadata rule)
 {
     if (this.allUserRulesField.Remove(rule))
     {
         this.allUserRulesField.AddFirst(rule);
     }
 }
コード例 #7
0
 private static void ApplyRule(CallRuleMetadata rule, IInterceptedFakeObjectCall fakeObjectCall)
 {
     rule.CalledNumberOfTimes++;
     rule.Rule.Apply(fakeObjectCall);
 }
コード例 #8
0
 /// <summary>
 /// Adds a call rule last in the list of user rules, meaning it has the lowest priority possible.
 /// </summary>
 /// <param name="rule">The rule to add.</param>
 public virtual void AddRuleLast(IFakeObjectCallRule rule)
 {
     var newRule = new CallRuleMetadata { Rule = rule };
     FakeScope.Current.AddRuleLast(this, newRule);
 }
コード例 #9
0
ファイル: FakeScope.cs プロジェクト: rajeshpillai/FakeItEasy
 /// <summary>
 /// Adds a fake object call to the current scope.
 /// </summary>
 /// <param name="fakeManager">The fake object.</param>
 /// <param name="rule">The rule to add.</param>
 internal void AddRuleFirst(FakeManager fakeManager, CallRuleMetadata rule)
 {
     fakeManager.AllUserRules.AddFirst(rule);
     this.OnAddRule(fakeManager, rule);
 }
コード例 #10
0
ファイル: FakeScope.cs プロジェクト: rajeshpillai/FakeItEasy
 protected override void OnAddRule(FakeManager fakeObject, CallRuleMetadata rule)
 {
 }
コード例 #11
0
ファイル: FakeScope.cs プロジェクト: rajeshpillai/FakeItEasy
            protected override void OnAddRule(FakeManager 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);
            }
コード例 #12
0
ファイル: FakeScope.cs プロジェクト: rajeshpillai/FakeItEasy
 protected abstract void OnAddRule(FakeManager fakeObject, CallRuleMetadata rule);
コード例 #13
0
ファイル: FakeManager.cs プロジェクト: jszumigaj/FakeItEasy
 private static void ApplyRule(CallRuleMetadata rule, IInterceptedFakeObjectCall fakeObjectCall)
 {
     Logger.Debug("Applying rule {0}.", rule.Rule.ToString());
     rule.CalledNumberOfTimes++;
     rule.Rule.Apply(fakeObjectCall);
 }
コード例 #14
0
ファイル: FakeScope.cs プロジェクト: skwasiborski/FakeItEasy
        public void AddScopeRuleLast(IFakeObjectCallRule rule)
        {
            Guard.AgainstNull(rule, "rule");

            var newRule = new CallRuleMetadata { Rule = rule };
            postManagerRulesField.AddLast(newRule);
        }
コード例 #15
0
 private static void ApplyRule(CallRuleMetadata rule, IInterceptedFakeObjectCall fakeObjectCall)
 {
     rule.CalledNumberOfTimes++;
     rule.Rule.Apply(fakeObjectCall);
 }
コード例 #16
0
ファイル: FakeManager.cs プロジェクト: JosephGray/FakeItEasy
 private static void ApplyRule(CallRuleMetadata rule, IInterceptedFakeObjectCall fakeObjectCall)
 {
     logger.Debug("Applying rule {0}.", rule.Rule.ToString());
     rule.CalledNumberOfTimes++;
     rule.Rule.Apply(fakeObjectCall);
 }