public void ShimmedMethod_Generates_From_Instance_Call_Records_String_Parameters() { var a = new InstanceMethodsTestClass(); var shimmedMethod = new ShimmedMethod(typeof(InstanceMethodsTestClass).GetMethod("MethodWithStringParam")); Assert.IsNotNull(shimmedMethod); Assert.IsNotNull(shimmedMethod.Method); Assert.IsNotNull(shimmedMethod.Shim); var beforeDateTime = DateTime.Now; PoseContext.Isolate(() => { a.MethodWithStringParam("bird"); }, new[] { shimmedMethod.Shim }); Assert.AreEqual(1, shimmedMethod.CallResults.Count); var callResult = shimmedMethod.CallResults.First(); Assert.IsNotNull(callResult.Parameters); var afterDateTime = DateTime.Now; Assert.IsNotNull(callResult.CalledAt); Assert.IsTrue(beforeDateTime < callResult.CalledAt && callResult.CalledAt < afterDateTime); // first parameter should be instance var instanceParam = callResult.Parameters[0] as InstanceMethodsTestClass; Assert.IsNotNull(instanceParam); Assert.AreEqual(a.InstanceGuid, instanceParam.InstanceGuid); var expectedParam = callResult.Parameters[1]; Assert.AreEqual("bird", (string)expectedParam); }
public void MethodWithStringParam(string b) { var inst = new InstanceMethodsTestClass(); inst.MethodWithStringParam(b); }