public void GetPoseWrapper_Generates_Wrapper_From_Expression() { var wrapper = Shimmer.GetPoseWrapper(() => StaticTestClass.VoidMethod()); Assert.IsNotNull(wrapper); wrapper.Execute(); Assert.IsNotNull(wrapper.LastExecutionResults); Assert.AreEqual(1, wrapper.LastExecutionResults.Count); }
public void GetPoseWrapper_Generates_Wrapper_From_Expression_With_Parameters() { var wrapper = Shimmer.GetPoseWrapper(() => StaticTestClass.MethodWithValueTypeParam(default(int))); Assert.IsNotNull(wrapper); wrapper.Execute(5); Assert.IsNotNull(wrapper.LastExecutionResults); Assert.AreEqual(1, wrapper.LastExecutionResults.Count); Assert.AreEqual(5, wrapper.LastExecutionResults.First().Value[0].Parameters[0]); }
public void GetPoseWrapper_Generates_Wrapper_From_Expression_With_Return() { var wrapper = Shimmer.GetPoseWrapper <int>(() => StaticTestClass.MethodWithReturn()); Assert.IsNotNull(wrapper); var result = wrapper.Execute(); Assert.AreEqual(0, result); Assert.IsNotNull(wrapper.LastExecutionResults); Assert.AreEqual(1, wrapper.LastExecutionResults.Count); }
public void GetPoseWrapper_From_Expression_Throws_InvalidOperationException_On_Non_Void_Return() { try { var wrapper = Shimmer.GetPoseWrapper(() => StaticTestClass.MethodWithReturn()); Assert.Fail("Expected ArgumentException."); } catch (ArgumentException e) { Assert.AreEqual(Shimmer.ReturnlessWrapperInvalidDelegate, e.Message); } }
public void GetPoseWrapper_T_From_Expression_Throws_InvalidOperationException_On_Non_Matching_Return_Type() { try { var wrapper = Shimmer.GetPoseWrapper <string>(() => StaticTestClass.VoidMethod()); Assert.Fail("Expected ArgumentException."); } catch (ArgumentException e) { Assert.AreEqual(Shimmer.NonMatchingReturnType, e.Message); } }
public void StaticEventHandlersTest() { StaticTestClass.InvokeActionUnsafe(); StaticGenericTestClass <int> .InvokeActionUnsafe(); }