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. }
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); }
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>(); }
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); }