public void ViewResult_ThrowsIsTypeException_WhenIActionResultIsNotViewResult()
        {
            // Arrange
            var mockActionResult = new Mock <IActionResult>(MockBehavior.Strict);

            // Act & Assert
            Assert.Throws <IsTypeException>(() => MvcAssert.ViewResult(mockActionResult.Object));
        }
        public void ViewResult_ReturnViewResult()
        {
            // Arrange
            var viewResult = new ViewResult();

            // Act & Assert
            var result = Assert.IsType <ViewResult>(MvcAssert.ViewResult(viewResult));

            Assert.Equal(viewResult, result);
        }
        public void ViewResult_ThrowsEqualException_WhenViewNameNotEqual()
        {
            // Arrange
            var viewResult = new ViewResult {
                ViewName = "Index"
            };

            // Act & Assert
            Assert.Throws <EqualException>(() => MvcAssert.ViewResult(viewResult, "NotIndex"));
        }
        public void Index_WhenHostingEnvironmentIsDevelopment_ReturnViewResult()
        {
            // Arrange
            var controller = new HomeController(new NullLogger <HomeController>(), new HostingEnvironment {
                EnvironmentName = "Development"
            });

            // Act
            var actionResult = controller.Index();

            // Assert
            MvcAssert.ViewResult(actionResult);
        }
        public void ViewResult_ThrowsAssertActualExpectedException_WhenModelNotEqual()
        {
            // Arrange
            var viewResult = new ViewResult
            {
                ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
                {
                    Model = new { Value = "TestValue" }
                }
            };

            // Act & Assert
            Assert.Throws <AssertActualExpectedException>(() => MvcAssert.ViewResult(viewResult, null, new { OtherValue = "TestValue" }));
        }