Exemplo n.º 1
0
        public void InitializeCorrectly_WhenValidExchangeRateApiCallerIsPassed()
        {
            var eracMock = new Mock <IExchangeRateApiService>();
            var sut      = new Data.CurrencyConverterService(eracMock.Object);

            Assert.IsInstanceOfType(sut, typeof(Data.CurrencyConverterService));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }