private async Task <InterestCalcResponse> DoGetInterestRate(int months, double initialValue)
        {
            var parameters = new InterestCalcParameters(months, initialValue);
            var result     = await _interestCalculationService.Calc(parameters);

            return(new InterestCalcResponse(result));
        }
        public void WhenValidValues_ShouldCreateAParameterInstance(int months, double initialValue)
        {
            var parameters = new InterestCalcParameters(months, initialValue);

            parameters.Months.Should().Be(months);
            parameters.InitialValue.Should().Be(initialValue);
        }
        public async Task CalcShouldExecuteTheCorrectCalc(int months, double initialValue, decimal interestRate, double expectedResult)
        {
            var parameters = new InterestCalcParameters(months, initialValue);

            _interestRateService
            .Setup(s => s.GetInterestRate())
            .ReturnsAsync(interestRate);

            var result = await _service.Calc(parameters);

            result.Should().Be(expectedResult);
            _interestRateService.VerifyAll();
        }