public void InvokeAsSynchronousShouldNotThrowIfParametersWereExpectedAndWereProvided() { var dummyTestClass = new DummyTestClass2(); var dummyMethod = typeof(DummyTestClass2).GetMethod("PublicMethodWithParameters"); Action action = () => dummyMethod.InvokeAsSynchronousTask(dummyTestClass, 10, 20); action(); }
public void InvokeAsSynchronousShouldThrowIfParametersWereExpectedButWereNotProvided() { var dummyTestClass = new DummyTestClass2(); var dummyMethod = typeof(DummyTestClass2).GetMethod("PublicMethodWithParameters"); try { // Should throw exception of type TestFailedException dummyMethod.InvokeAsSynchronousTask(dummyTestClass, null); } catch (TestFailedException ex) { Assert.AreEqual(ex.Outcome, UnitTestOutcome.Error); Assert.AreEqual(ex.TryGetMessage(), Resource.UTA_TestMethodExpectedParameters); } }
public void MethodInfoInvokeAsSynchronousTaskWaitsForCompletionOfAMethodWhichReturnsTask() { var testMethodCalled = false; DummyTestClass2.DummyAsyncMethodBody = (x, y) => Task.Run( () => { Assert.AreEqual(10, x); Assert.AreEqual(20, y); testMethodCalled = true; }); var dummyTestClass = new DummyTestClass2(); var dummyAsyncMethod = typeof(DummyTestClass2).GetMethod("DummyAsyncMethod"); dummyAsyncMethod.InvokeAsSynchronousTask(dummyTestClass, 10, 20); Assert.IsTrue(testMethodCalled); }
public void MethodInfoInvokeAsSynchronousTaskExecutesAMethodWhichDoesNotReturnATask() { var testMethodCalled = false; DummyTestClass2.DummyMethodBody = (x, y) => { Assert.AreEqual(10, x); Assert.AreEqual(20, y); testMethodCalled = true; return(true); }; var dummyTestClass = new DummyTestClass2(); var dummyMethod = typeof(DummyTestClass2).GetMethod("DummyMethod"); dummyMethod.InvokeAsSynchronousTask(dummyTestClass, 10, 20); Assert.IsTrue(testMethodCalled); }