Example #1
0
        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.");
        }
Example #2
0
        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.");
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }