internal static void InvokeOn_UsesArgs(DataSample sample)
        {
            MethodCallWrapper wrapper = Tools.Randomizer.CreateFor(
                typeof(DataSample).GetMethod(nameof(DataSample.Equals)));

            Tools.Asserter.Is(false, wrapper.InvokeOn(sample));
            wrapper.ModifyArg("obj", sample);
            Tools.Asserter.Is(true, wrapper.InvokeOn(sample));
        }
        internal static void ModifyArg_CanMutate(DataSample sample)
        {
            MethodCallWrapper wrapper = Tools.Randomizer.CreateFor(
                typeof(DataHolderSample).GetMethod(nameof(DataHolderSample.HasNested)));

            wrapper.ModifyArg("value", sample);

            Tools.Asserter.Is(true, wrapper.Args.Contains(sample));
        }
 public byte[] SerializeMethodCall(MethodCall methodCall)
 {
     var wrapper = new MethodCallWrapper(methodCall);
     wrapper.Args = methodCall.Args;
     wrapper.MethodSignature = new string[
         methodCall.MethodSignature != null ? methodCall.MethodSignature.Length : 0];
     for (int i = 0; i < methodCall.MethodSignature.Length; i++)
         wrapper.MethodSignature[i] = this.parseTypeName(methodCall.MethodSignature[i]);
     return this.ToJsonBytes(wrapper);
 }
 internal static void ModifyArg_ThrowsWithUnknownParameter(MethodCallWrapper method, string parameter, object value)
 {
     Tools.Asserter.Throws <KeyNotFoundException>(() => method.ModifyArg(parameter, value));
 }
        internal static void MethodCallWrapper_WorksInFake(MethodCallWrapper method, Fake <IRandomizer> rand)
        {
            rand.Setup(m => m.CreateFor(Arg.Any <MethodBase>(), Arg.Any <object[]>()), Behavior.Returns(method));

            Tools.Asserter.Is(method, rand.Dummy.CreateFor(Tools.Randomizer.Create <MethodBase>()));
        }