Example #1
0
        //TODO use currencies int this method instead of currencynames
        public decimal Exchange(string currencyIsoNameFrom, string currencyIsoNameTo, decimal amount)
        {
            //DKK
            var baseCurrency = _currencyRateService.GetBaseCurrency();

            var currencyFrom = _currencyRateService.GetCurrencyRate(currencyIsoNameFrom);
            var currencyTo   = _currencyRateService.GetCurrencyRate(currencyIsoNameTo);

            IExchangeCase exchangeCase = new ExchangeCaseFactory().GetExchangeCase(currencyFrom, currencyTo, baseCurrency);

            return(exchangeCase.Exchange(amount));
        }
Example #2
0
        public void GetCase_ReturnsCurrencyFromAndCurrencyToAreNotBaseCase_WhenToAndFromCurrenciesAreNotBase()
        {
            var currencyFrom = new CurrencyRate {
                IsoName = "EUR"
            };
            var currencyTo = new CurrencyRate {
                IsoName = "USD"
            };
            var currencyBase = new CurrencyRate {
                IsoName = "DKK"
            };
            var factory = new ExchangeCaseFactory();

            var result = factory.GetExchangeCase(currencyFrom, currencyTo, currencyBase);

            Assert.IsInstanceOf <CurrencyFromAndCurrencyToAreNotBaseCase>(result);
        }