public void DivideByValidNumbers(decimal start, decimal by, decimal expected) { // act var request = new DivideRequestDto() { Numerator = start, Denominator = by }; var result = controller.Divide(request); var okResult = result as OkObjectResult; // assert Assert.NotNull(okResult); Assert.Equal(200, okResult.StatusCode); Assert.Equal(expected, okResult.Value); }
public IActionResult Divide(DivideRequestDto request) { var operation = $"{request.Numerator} / { request.Denominator}"; try { logger.LogInformation($"Divide request received: {operation}"); var result = calcService.Divide(request.Numerator, request.Denominator); logger.LogInformation($"Result for {operation} = {result}"); return(Ok(result)); } catch (Exception ex) { logger.LogError(ex, $"Error processing {operation}"); return(StatusCode(500, "Error: " + ex.Message)); } }
public void DivideByZero() { var request = new DivideRequestDto() { Numerator = 11, Denominator = 0.0m }; var result = controller.Divide(request); var controllerResult = result as ObjectResult; // assert Assert.NotNull(controllerResult); Assert.Equal(500, controllerResult.StatusCode); request = new DivideRequestDto() { Numerator = 0.0m, Denominator = 0.0m }; result = controller.Divide(request); controllerResult = result as ObjectResult; // assert Assert.NotNull(controllerResult); Assert.Equal(500, controllerResult.StatusCode); request = new DivideRequestDto() { Numerator = 9.0m, Denominator = 0.0m }; result = controller.Divide(request); controllerResult = result as ObjectResult; // assert Assert.NotNull(controllerResult); Assert.Equal(500, controllerResult.StatusCode); request = new DivideRequestDto() { Numerator = 9m, Denominator = 0.0m }; result = controller.Divide(request); controllerResult = result as ObjectResult; // assert Assert.NotNull(controllerResult); Assert.Equal(500, controllerResult.StatusCode); }