public async Task Execute_Should_Return_Valid_Value(decimal initialValue, int months, decimal expected) { var hostIp = Environment.GetEnvironmentVariable(EnvironmentVariables.HostIp); var httpClient = new HttpClient(); var httpHandler = new HttpClientHandler(httpClient); var feePercentageService = new FeePercentageService( httpHandler, String.Format(FeePercentageService.UrlEndpointFormat, hostIp) ); var calculateCompositeFeeUsecase = new CalculateCompositeFeeUsecase(feePercentageService); var actual = await calculateCompositeFeeUsecase.Execute(initialValue, months); Assert.Equal(expected, actual); }
public async Task Execute_Should_Return_Zero_When_Months_Value_Is_Negative() { var hostIp = Environment.GetEnvironmentVariable(EnvironmentVariables.HostIp); var httpClient = new HttpClient(); var httpHandler = new HttpClientHandler(httpClient); var feePercentageService = new FeePercentageService( httpHandler, String.Format(FeePercentageService.UrlEndpointFormat, hostIp) ); var calculateCompositeFeeUsecase = new CalculateCompositeFeeUsecase(feePercentageService); var initialValue = 1; var months = -Int32.MaxValue; var expected = 0; var actual = await calculateCompositeFeeUsecase.Execute(initialValue, months); Assert.Equal(expected, actual); }
public async Task Execute_Should_Throw_Exception_When_InitialValue_Is_Too_Small() { var hostIp = Environment.GetEnvironmentVariable(EnvironmentVariables.HostIp); var httpClient = new HttpClient(); var httpHandler = new HttpClientHandler(httpClient); var feePercentageService = new FeePercentageService( httpHandler, String.Format(FeePercentageService.UrlEndpointFormat, hostIp) ); var calculateCompositeFeeUsecase = new CalculateCompositeFeeUsecase(feePercentageService); var initialValue = -Decimal.MaxValue; var months = 1; await Assert.ThrowsAsync <CalculateCompositeFeeUsecaseException>(async() => { await calculateCompositeFeeUsecase.Execute(initialValue, months); }); }