public bool CallTwoDifferentMethods() { var result1 = StaticMethodsTestClass.MethodWithParamAndReturn(5); var result2 = StaticMethodsTestClass.MethodWithParamsAndReturn(7, 1); return(result1 < result2); }
public void PoseWrapper_SetReturn_Changes_Value_Of_Correct_Shim_On_Function_Call() { var a = new TestClass(); var wrapper = new PoseWrapper <bool>((Func <bool>)a.CallTwoDifferentMethods, null, WrapperOptions.None); var methodInfo1 = typeof(StaticMethodsTestClass).GetMethod("MethodWithParamAndReturn"); var methodInfo2 = typeof(StaticMethodsTestClass).GetMethod("MethodWithParamsAndReturn"); wrapper.SetReturn(() => StaticMethodsTestClass.MethodWithParamAndReturn(Pose.Is.A <int>()), 3); wrapper.SetReturn(() => StaticMethodsTestClass.MethodWithParamsAndReturn(Pose.Is.A <int>(), Pose.Is.A <int>()), 7); var preCallDateTime = DateTime.Now; var result = wrapper.Execute(); Assert.IsTrue(result); Assert.AreEqual(2, wrapper.LastExecutionResults.Count); var resultsMethodWithParamAndReturn = wrapper.LastExecutionResults.First(ler => ler.Key.Equals(methodInfo1)).Value; var resultsMethodWithParamsAndReturn = wrapper.LastExecutionResults.First(ler => ler.Key.Equals(methodInfo2)).Value; Assert.AreEqual(1, resultsMethodWithParamAndReturn.Count); Assert.AreEqual(1, resultsMethodWithParamsAndReturn.Count); var resultsMethodWithParamAndReturnData = resultsMethodWithParamAndReturn[0]; var resultsMethodWithParamsAndReturnData = resultsMethodWithParamsAndReturn[0]; Assert.IsTrue(resultsMethodWithParamAndReturnData.CalledAt > preCallDateTime); Assert.IsTrue(resultsMethodWithParamsAndReturnData.CalledAt > resultsMethodWithParamAndReturnData.CalledAt); Assert.AreEqual(5, (int)resultsMethodWithParamAndReturnData.Parameters[0]); Assert.AreEqual(7, (int)resultsMethodWithParamsAndReturnData.Parameters[0]); Assert.AreEqual(1, (int)resultsMethodWithParamsAndReturnData.Parameters[1]); }
public void ShimmedMethod_Generates_From_Static_Call_With_Param_And_Returns_Value() { var shimmedMethod = new ShimmedMethod <int>(typeof(StaticMethodsTestClass).GetMethod("MethodWithParamAndReturn")); Assert.IsNotNull(shimmedMethod); Assert.IsNotNull(shimmedMethod.Method); Assert.IsNotNull(shimmedMethod.Shim); var beforeDateTime = DateTime.Now; int value = -1; PoseContext.Isolate(() => { value = StaticMethodsTestClass.MethodWithParamAndReturn(2); }, new[] { shimmedMethod.Shim }); Assert.AreEqual(0, value); // Shimmy will set to default for that value type 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]); }
public int CallSameMethodMultipleTimes() { var result = 0; result += StaticMethodsTestClass.MethodWithParamAndReturn(10); result += StaticMethodsTestClass.MethodWithParamAndReturn(9); result += StaticMethodsTestClass.MethodWithParamAndReturn(8); result += StaticMethodsTestClass.MethodWithParamAndReturn(7); result += StaticMethodsTestClass.MethodWithParamAndReturn(6); return(result); }
public int MethodWithParamAndReturn(int a) { return(StaticMethodsTestClass.MethodWithParamAndReturn(a)); }
public void MethodWithValueTypeParam(int a) { var result = StaticMethodsTestClass.MethodWithParamAndReturn(a); }
public int MethodWithReturn() { return(StaticMethodsTestClass.MethodWithParamAndReturn(2)); }
public void VoidMethod() { var result = StaticMethodsTestClass.MethodWithParamAndReturn(2); }
private int APrivateMethodWithCalls() { return(StaticMethodsTestClass.MethodWithParamAndReturn(5)); }
public static int MethodWithParamAndReturn(int param1) { return StaticMethodsTestClass.MethodWithParamAndReturn(param1); }