public void CalcCValue_ReturnsOkNegotiatedContentResult() { //System.Diagnostics.Debugger.Launch(); // arrange var mock = new Mock<ICalcEngine>(); mock.Setup(x => x.Calc(It.IsInRange<int>(1, int.MaxValue, Range.Inclusive))).Returns<int>(v => 10 % v); var controller = new CalcController(mock.Object); // act IHttpActionResult actionResult = controller.CalcCValue(10); // assert Assert.IsType<OkNegotiatedContentResult<int>>(actionResult); }
public async void CalcCValue_ReturnsInternalServerErrorWithReasonPhrase() { //System.Diagnostics.Debugger.Launch(); // arrange var mock = new Mock<ICalcEngine>(); mock.Setup(x => x.Calc(It.IsAny<int>())).Throws<DivideByZeroException>(); var controller = new CalcController(mock.Object).ConfigureForGet(int.MinValue); // act IHttpActionResult actionResult = controller.CalcCValue(int.MinValue); // assert Assert.IsType<WrappedHttpActionResult>(actionResult); HttpResponseMessage response = await actionResult.ExecuteAsync(CancellationToken.None); Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode); Assert.Equal("Internal Server Error: Check your calculation!", response.ReasonPhrase); }