Esempio n. 1
0
        public async Task GetFeePercentage_Should_Throw_Exception_When_HttpHandler_Fails()
        {
            var httpHandlerMock = new Mock <IHttpHandler>();

            httpHandlerMock
            .Setup(h => h.GetAsyncAsString(It.IsAny <string>()))
            .Throws(new Exception());

            var feePercentageService = new FeePercentageService(httpHandlerMock.Object, "");

            await Assert.ThrowsAsync <FeePercentageServiceException>(async() =>
            {
                var actual = await feePercentageService.GetFeePercentage();
            });
        }
Esempio n. 2
0
        public async Task GetFeePercentage_Should_Return_Valid_Value()
        {
            var expected = 0.01m;

            var httpHandlerMock = new Mock <IHttpHandler>();

            httpHandlerMock
            .Setup(h => h.GetAsyncAsString(It.IsAny <string>()))
            .ReturnsAsync("0.01");

            var feePercentageService = new FeePercentageService(httpHandlerMock.Object, "");
            var actual = await feePercentageService.GetFeePercentage();

            Assert.Equal(expected, actual);
        }
        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);
            });
        }