Exemplo n.º 1
0
 private static void ApplyOutputArguments(IInterceptedFakeObjectCall call, CallMetadata callToApply)
 {
     foreach (var outputArgument in GetIndicesAndValuesOfOutputParameters(call, callToApply.RecordedCall))
     {
         call.SetArgumentValue(outputArgument.Item1, outputArgument.Item2);
     }
 }
Exemplo n.º 2
0
        public void AddItem(CallMetadata item)
        {
            if (!calls.ContainsKey(item.UniqueId))
            {
                calls[item.UniqueId] = new List <CallMetadata>();
            }

            calls[item.UniqueId].Add(item);
            this.Count++;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Records the specified call.
        /// </summary>
        /// <param name="fakeObjectCall">The call to record.</param>
        public virtual void RecordCall(ICompletedFakeObjectCall fakeObjectCall)
        {
            var hash  = fakeObjectCall.GetHashCode();
            var watch = watches[hash];

            watches.Remove(hash);
            watch.Stop();

            var callData = new CallData(fakeObjectCall.Method, CommonExtensions.GetOutputArgumentsForCall(fakeObjectCall), fakeObjectCall.ReturnValue.Copy());

            var item = new CallMetadata
            {
                HasBeenApplied = false,
                RecordedCall   = callData,
                ElapsedTime    = watch.ElapsedMilliseconds,
                UniqueId       = KeyGenerator.GetMethodKey(fakeObjectCall.FakedObject.GetType(), fakeObjectCall.Method, CommonExtensions.GetCurrentStack())
            };

            this.recordedCalls.AddItem(item);
        }