public void ConvertByAlexTest_ToUsd(decimal rate, decimal amount, decimal expectedResult, Currency currency)
        {
            //Preparation
            var exchangeRateToUsdCurrent = new ExchangeRateToUsdCurrent()
            {
                ExchRate = rate
            };

            _exchangeRateToUsdCurrentRepositoryMock
            .Setup(x => x.GetExchangeRate(currency, TypeOfExchange.Sell))
            .Returns(exchangeRateToUsdCurrent);

            //Act
            var actualResult = _currencyService.ConvertByAlex(amount, currency);

            //Assert
            Assert.AreEqual(expectedResult, actualResult);
        }
        public void ConvertByAlex_FromTo(decimal rateBy, decimal rateSell, decimal amount, Currency currencyFrom, Currency currencyTo, decimal expectedResult)
        {
            var exchangeRateToUsdCurrentTo = new ExchangeRateToUsdCurrent()
            {
                ExchRate = rateBy
            };

            _exchangeRateToUsdCurrentRepositoryMock
            .Setup(x => x.GetExchangeRate(currencyFrom, TypeOfExchange.Sell))
            .Returns(exchangeRateToUsdCurrentTo);

            var exchangeRateToUsdCurrentFrom = new ExchangeRateToUsdCurrent()
            {
                ExchRate = rateSell
            };

            _exchangeRateToUsdCurrentRepositoryMock
            .Setup(x => x.GetExchangeRate(currencyTo, TypeOfExchange.Buy))
            .Returns(exchangeRateToUsdCurrentFrom);

            var actualResult = _currencyService.ConvertByAlex(currencyTo, amount, currencyFrom);

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void PutCurrentExchangeRatesToDb(ExchangeRateToUsdCurrentRepository _exchangeRateToUsdCurrentRepository,
                                                GottenCurrency exchangeRates)
        {
            var exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.BYN,
                TypeOfExch = TypeOfExchange.Buy,
                ExchRate   = Convert.ToDecimal(exchangeRates.USD_in, new CultureInfo("en-US"))
            };

            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.BYN,
                TypeOfExch = TypeOfExchange.Sell,
                ExchRate   = Convert.ToDecimal(exchangeRates.USD_out, new CultureInfo("en-US"))
            };
            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.USD,
                TypeOfExch = TypeOfExchange.Buy,
                ExchRate   = 1
            };
            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.USD,
                TypeOfExch = TypeOfExchange.Sell,
                ExchRate   = 1
            };
            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.EUR,
                TypeOfExch = TypeOfExchange.Buy,
                ExchRate   = Convert.ToDecimal(exchangeRates.USD_in, new CultureInfo("en-US"))
                             / Convert.ToDecimal(exchangeRates.EUR_in, new CultureInfo("en-US"))
            };
            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.EUR,
                TypeOfExch = TypeOfExchange.Sell,
                ExchRate   = Convert.ToDecimal(exchangeRates.USD_out, new CultureInfo("en-US"))
                             / Convert.ToDecimal(exchangeRates.EUR_out, new CultureInfo("en-US"))
            };
            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.GBP,
                TypeOfExch = TypeOfExchange.Buy,
                ExchRate   = Convert.ToDecimal(exchangeRates.USD_in, new CultureInfo("en-US"))
                             / Convert.ToDecimal(exchangeRates.GBP_in, new CultureInfo("en-US"))
            };
            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.GBP,
                TypeOfExch = TypeOfExchange.Sell,
                ExchRate   = Convert.ToDecimal(exchangeRates.USD_out, new CultureInfo("en-US"))
                             / Convert.ToDecimal(exchangeRates.GBP_out, new CultureInfo("en-US"))
            };
            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.PLN,
                TypeOfExch = TypeOfExchange.Buy,
                ExchRate   = Convert.ToDecimal(exchangeRates.USD_in, new CultureInfo("en-US"))
                             / Convert.ToDecimal(exchangeRates.PLN_in, new CultureInfo("en-US"))
                             * 10
            };
            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            exchangeRateDb = new ExchangeRateToUsdCurrent
            {
                Currency   = Currency.PLN,
                TypeOfExch = TypeOfExchange.Sell,
                ExchRate   = Convert.ToDecimal(exchangeRates.USD_out, new CultureInfo("en-US"))
                             / Convert.ToDecimal(exchangeRates.PLN_out, new CultureInfo("en-US"))
                             * 10
            };
            _exchangeRateToUsdCurrentRepository.Save(exchangeRateDb);

            Console.WriteLine();
        }