public async Task CombineAWithB_should_return_bad_request_if_service_fails_validation()
        {
            // arrange
            var input          = new CalculationInput();
            var failedResponse = new CalculationResult {
                Validation = ValidationResult.Fail("FAIL")
            };

            A.CallTo(() => _calculationService.CombineAWithB(input))
            .Returns(failedResponse);

            // act
            var result = await GetSubject().CombineAWithB(input);

            // assert
            result.Should().BeOfType <BadRequestObjectResult>();
        }
        public async Task <IActionResult> CombineAWithB([FromBody] CalculationInput input)
        {
            var output = await _service.CombineAWithB(input);

            if (!output.Validation.IsValid)
            {
                return(BadRequest(output.Validation));
            }

            return(Ok(output.Result));
        }