コード例 #1
0
        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);
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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);
        }