public void TestCalculateVolume() { // Arrange int length = 1; int width = 2; int height = 3; PaintModel model = new PaintModel // model uses numbers as string since also used on front end { Length = length.ToString(), Width = width.ToString(), Height = height.ToString() }; var logger = new Object() as ILogger <HomeController>; var ctrlr = new HomeController(logger); // Act var jsonResult = (JsonResult)ctrlr.Calculate(model); // this is the method being tested in the controller JavaScriptSerializer serializer = new JavaScriptSerializer(); Result result = serializer.Deserialize <Result>(serializer.Serialize(jsonResult.Value)); // Assert Assert.IsNotNull(jsonResult.Value); Assert.IsNotNull(result); Assert.IsNotNull(result.Volume); Assert.AreEqual(result.Success, true); Assert.AreEqual(result.Volume, (length * width * height).ToString()); }
public void TestNullOrMissingData() { // Arrange PaintModel model = new PaintModel // model uses numbers as string since also used on front end { Length = null, Width = null, Height = null }; var logger = new Object() as ILogger <HomeController>; var ctrlr = new HomeController(logger); // Act var jsonResult = (JsonResult)ctrlr.Calculate(model); // this is the method being tested in the controller JavaScriptSerializer serializer = new JavaScriptSerializer(); Result result = serializer.Deserialize <Result>(serializer.Serialize(jsonResult.Value)); // Assert Assert.IsNotNull(jsonResult.Value); Assert.IsNotNull(result); Assert.IsNotNull(result.Volume); Assert.AreEqual(result.Success, true); Assert.AreEqual(result.Area, "0"); Assert.AreEqual(result.Paint, "0"); Assert.AreEqual(result.Volume, "0"); }