public void ShimmedMethod_Generates_From_Static_Call_With_Params_And_Returns_Reference_Type() { var shimmedMethod = new ShimmedMethod <List <int> >(typeof(StaticMethodsTestClass).GetMethod("MethodWithParamsAndReferenceTypeReturn")); Assert.IsNotNull(shimmedMethod); Assert.IsNotNull(shimmedMethod.Method); Assert.IsNotNull(shimmedMethod.Shim); var beforeDateTime = DateTime.Now; List <int> value = null; PoseContext.Isolate(() => { value = StaticMethodsTestClass.MethodWithParamsAndReferenceTypeReturn(2, 4); }, new[] { shimmedMethod.Shim }); Assert.IsNotNull(value); 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); Assert.AreEqual(2, (int)callResult.Parameters[0]); Assert.AreEqual(4, (int)callResult.Parameters[1]); }
public List <int> MethodWithParamsAndReferenceTypeReturn(int param1, int param2) { return(StaticMethodsTestClass.MethodWithParamsAndReferenceTypeReturn(param1, param2)); }