public void InitializeCorrectly_WhenValidExchangeRateApiCallerIsPassed() { var eracMock = new Mock <IExchangeRateApiService>(); var sut = new Data.CurrencyConverterService(eracMock.Object); Assert.IsInstanceOfType(sut, typeof(Data.CurrencyConverterService)); }
public async Task ThrowServiceException_WhenNegativeAmountIsPassed() { decimal negativeNumber = -44; var exchangeRateApiCallerMock = new Mock <IExchangeRateApiService>(); var sut = new Data.CurrencyConverterService(exchangeRateApiCallerMock.Object); await Assert.ThrowsExceptionAsync <ServiceException>(async() => await sut.ConvertFromBaseToOtherAsync(negativeNumber, Currency.BGN)); }
public async Task ReturnAmountConvertedFromBaseToOther_WhenValidParametersArePassed() { decimal inputVal = 10; decimal exchangeRateApiCallerMockReturnVal = 5; decimal expectedVal = inputVal * exchangeRateApiCallerMockReturnVal; var exchangeRateApiCallerMock = new Mock <IExchangeRateApiService>(); exchangeRateApiCallerMock.Setup(e => e.GetRateAsync(It.IsAny <Currency>())).ReturnsAsync(exchangeRateApiCallerMockReturnVal); var sut = new Data.CurrencyConverterService(exchangeRateApiCallerMock.Object); var result = await sut.ConvertFromBaseToOtherAsync(inputVal, Currency.USD); Assert.IsTrue(result == expectedVal); }
public async Task ReturnNumberConvertedToBaseCurrency_WhenValidParametersArePassed() { decimal inputVal = 10; decimal returnVal = 5; decimal expectedVal = inputVal * (1 / returnVal); var exchangeRateApiCallerMock = new Mock <IExchangeRateApiService>(); exchangeRateApiCallerMock.Setup(e => e.GetRateAsync(It.IsAny <Currency>())).ReturnsAsync(returnVal); var sut = new Data.CurrencyConverterService(exchangeRateApiCallerMock.Object); var result = await sut.ConvertToBaseCurrencyAsync(inputVal, Currency.BGN); Assert.IsTrue(result == expectedVal); }