Ejemplo n.º 1
0
        public void CurrencyService_ConvertMethod_Passing_0_Returns_Exception()
        {
            //Arrange
            var currencyService = new CurrencyService();

            //Act
            var result = currencyService.Convert(0, Models.CurrencyType.GBP, Models.CurrencyType.USD);

            //Assert Show throw argument out of range exception.
        }
Ejemplo n.º 2
0
        public void CurrencyService_Convert_100_GBP_To_USD_Returns_135_58()
        {
            //Arrange
            var currencyService = new CurrencyService();

            //Act
            var result = currencyService.Convert(100, Models.CurrencyType.GBP, Models.CurrencyType.USD);

            Assert.IsNotNull(result);
            Assert.IsTrue(result > 0);
            Assert.IsTrue(result == 135.58m);
        }
Ejemplo n.º 3
0
        public async Task TestCurrencyConversionUnavailable()
        {
            decimal rateEurUSD       = 4;
            decimal ammount          = 10;
            var     currencyResponse = new CLResponse()
            {
                quotes = new Dictionary <string, decimal>()
                {
                    { "EURUSD", rateEurUSD }
                }
            };

            var mockHttp = CreateMockHttp(currencyResponse);

            service = new CurrencyService(mockHttp, serviceApiKeyMock);

            Func <Task> act = async() => { await service.Convert(ammount, "USD", "Z5"); };

            act.Should().Throw <Exception>();
        }
Ejemplo n.º 4
0
        public async Task TestCurrencyConversionBackwards()
        {
            decimal rateEurUSD       = 4;
            decimal ammount          = 10;
            var     currencyResponse = new CLResponse()
            {
                quotes = new Dictionary <string, decimal>()
                {
                    { "EURUSD", 4 }
                }
            };

            var mockHttp = CreateMockHttp(currencyResponse);

            service = new CurrencyService(mockHttp, serviceApiKeyMock);

            var eurUsdResult = await service.Convert(10, "USD", "EUR");

            eurUsdResult.Should().Be(ammount / rateEurUSD);
        }