public void TestMethod1() { ProteinTrackerController controller = new ProteinTrackerController(new StubTrackingService()); var result = controller.Index() as ViewResult; Assert.AreEqual(0, result.ViewBag.Total); }
public void WenNothingHasHappenedTotalAndGoalAreZero() { ProteinTrackerController controller = new ProteinTrackerController(new SubTrackingService()); ViewResult result = controller.Index() as ViewResult; Assert.AreEqual(0, result.ViewBag.Total); Assert.AreEqual(0, result.ViewBag.Goal); }
public void WhenTotalIsNonZero_AndAmountAdded_TotalIsIncreased() { var service = new SubTrackingService(); service.Total = 10; ProteinTrackerController controller = new ProteinTrackerController(service); ViewResult result = controller.AddProtein(15) as ViewResult; Assert.AreEqual(25, result.ViewBag.Total); Assert.AreEqual(0, result.ViewBag.Goal); }
public IController CreateController(RequestContext requestContext, string controllerName) { if (controllerName.ToLower().StartsWith("proteintracker")) { var repository = new ProteinRespository(); var service = new ProteinTrackingService(repository); var controller = new ProteinTrackerController(service); return(controller); } var defaultFactory = new DefaultControllerFactory(); return(defaultFactory.CreateController(requestContext, controllerName)); }
public void TestMethod2() { var service = new StubTrackingService { Total = 10 }; ProteinTrackerController controller = new ProteinTrackerController(service); var result = controller.AddProtein(15) as ViewResult; if (result != null) { Assert.AreEqual(25, result.ViewBag.Total); Assert.AreEqual(0, result.ViewBag.Goal); } }
public IController CreateController(RequestContext requestContext, string controllerName) { if (controllerName.ToLower().StartsWith("proteintracker")) { //Create an instance of the ProteinTrackingService var service = new ProteinTrackingService(); //Pass this new instance into the creation of the controller. Now remember, that even though this is a concrete instance //the controller can accept anything derived from IProteinTrackingService //It doesn't care what the class is, as long as it's implementing this interface var controller = new ProteinTrackerController(service); return(controller); } //For all other types of Controller, we're just going to let it do what the default is var defaultController = new DefaultControllerFactory(); return(defaultController.CreateController(requestContext, controllerName)); }