public void IndexPostActionReturnsViewResult() { // Arrange var homeController = new HomeController(); // Act var viewResult = homeController.Index(new IndexViewModel()); // Assert Assert.IsType<ViewResult>(viewResult); }
public void IndexGetActionReturnsViewResultWithModelSetToDefaultInstance() { // Arrange var homeController = new HomeController(); // Act var viewResult = homeController.Index(); // Assert Assert.NotNull(viewResult.Model); }
public void IndexPostActionReturnsViewResultWithModelSetToInstanceSupplied() { // Arrange var homeController = new HomeController(); var indexViewModel = new IndexViewModel(); // Act var viewResult = homeController.Index(indexViewModel); // Assert Assert.Same(indexViewModel, viewResult.Model); }
public void IndexPostActionWithValidModelRunsSimulation() { // Arrange var homeController = new HomeController(); // Act var viewResult = homeController.Index(new IndexViewModel()); // Assert Assert.NotNull(((IndexViewModel)viewResult.Model).StrategyFitnesses); }
public void IndexPostActionWithInvalidModelDoesNotRunSimulation() { // Arrange var homeController = new HomeController(); homeController.ModelState.AddModelError("Invalid", "Invalid model data"); // Act var viewResult = homeController.Index(new IndexViewModel()); // Assert Assert.Null(((IndexViewModel)viewResult.Model).StrategyFitnesses); }
public void IndexPostActionWithValidModelRunsSimulationWithSuppliedValues() { // Arrange var homeController = new HomeController(); // We create a model with values all different from the default. That way // we can know for sure if those values are used var indexViewModel = new IndexViewModel { NumberOfRounds = 50, PayoffForCooperateAndCooperate = 10, PayoffForCooperateAndDefect = 11, PayoffForDefectAndCooperate = 12, PayoffForDefectAndDefect = 13 }; // Act var viewResult = homeController.Index(indexViewModel); // Assert var viewResultModel = (IndexViewModel)viewResult.Model; Assert.Equal(3, viewResultModel.StrategyFitnesses.Count); Assert.Equal(2050, viewResultModel.StrategyFitnesses[0].TotalPayoff); Assert.Equal(2549, viewResultModel.StrategyFitnesses[1].TotalPayoff); Assert.Equal(2148, viewResultModel.StrategyFitnesses[2].TotalPayoff); }