public void ModelState_IsValid_WhenErrorsEmpty()
        {
            // Arrange
            var viewResult = new ViewResult
            {
                ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
            };

            // Act & Assert
            var result = Assert.IsType <ModelStateDictionary>(
                MvcAssert.ModelState(
                    viewResult,
                    new List <KeyValuePair <string, string> >()
                    )
                );

            Assert.Equal(viewResult.ViewData.ModelState, result);
        }
        public void ModelState_WithKeyValue_ReturnModelState()
        {
            // Arrange
            var viewResult = new ViewResult
            {
                ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
            };

            viewResult.ViewData.ModelState.AddModelError("ErrorKey", "ErrorMessage");

            // Act & Assert
            var result = Assert.IsType <ModelStateDictionary>(
                MvcAssert.ModelState(
                    viewResult,
                    "ErrorKey",
                    "ErrorMessage"
                    )
                );

            Assert.Equal(viewResult.ViewData.ModelState, result);
        }
        public void ModelState_IsNotValid_WhenErrors()
        {
            // Arrange
            var viewResult = new ViewResult
            {
                ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
            };

            viewResult.ViewData.ModelState.AddModelError("ErrorKey", "ErrorMessage");

            // Act & Assert
            var result = Assert.IsType <ModelStateDictionary>(
                MvcAssert.ModelState(
                    viewResult,
                    new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("ErrorKey", "ErrorMessage")
            }
                    )
                );

            Assert.Equal(viewResult.ViewData.ModelState, result);
        }