public void GetActionMethodErrorMessageReturnsNullIfStaticMethodIsValid() { // Arrange MethodInfo methodInfo = typeof(object).GetMethod("ReferenceEquals"); // Act string errorMessage = AsyncActionDescriptor.GetActionMethodErrorMessage(methodInfo); // Assert Assert.IsNull(errorMessage, "Error message should be null since method is valid."); }
public void GetActionMethodErrorMessageReturnsNullIfInstanceMethodIsValid() { // Arrange MethodInfo methodInfo = typeof(MyController).GetMethod("ValidAction"); // Act string errorMessage = AsyncActionDescriptor.GetActionMethodErrorMessage(methodInfo); // Assert Assert.IsNull(errorMessage, "Error message should be null since method is valid."); }
public void GetActionMethodErrorMessageForInstanceMethodWithOpenGenericParameter() { // Arrange MethodInfo methodInfo = typeof(MyController).GetMethod("ActionWithOpenGenericParameter"); // Act string errorMessage = AsyncActionDescriptor.GetActionMethodErrorMessage(methodInfo); // Assert Assert.AreEqual(@"Cannot call action method 'Void ActionWithOpenGenericParameter[T]()' on controller 'Microsoft.Web.Mvc.Test.AsyncActionDescriptorTest+MyController' since it is a generic method.", errorMessage); }
public void GetActionMethodErrorMessageForMethodWithRefParameter() { // Arrange MethodInfo methodInfo = typeof(MyController).GetMethod("ActionWithRefParameter"); // Act string errorMessage = AsyncActionDescriptor.GetActionMethodErrorMessage(methodInfo); // Assert Assert.AreEqual(@"Cannot call action method 'Void ActionWithRefParameter(Int32 ByRef)' on controller 'Microsoft.Web.Mvc.Test.AsyncActionDescriptorTest+MyController' since the parameter 'Int32& id' is passed by reference.", errorMessage); }
public void GetActionMethodErrorMessageForInstanceMethodOnWrongTargetType() { // Arrange MethodInfo methodInfo = typeof(object).GetMethod("ToString"); // Act string errorMessage = AsyncActionDescriptor.GetActionMethodErrorMessage(methodInfo); // Assert Assert.AreEqual(@"Cannot create a descriptor for instance method 'System.String ToString()' on type 'System.Object' since the type does not subclass ControllerBase.", errorMessage); }