コード例 #1
0
        /// <summary>
        /// Konverterer fra en kryptovaluta til en anden.
        /// Hvis en af de angivne valutaer ikke findes, kaster funktionen en ArgumentException
        ///
        /// </summary>
        /// <param name="fromCurrencyName">Navnet på den valuta, der konverterers fra</param>
        /// <param name="toCurrencyName">Navnet på den valuta, der konverteres til</param>
        /// <param name="amount">Beløbet angivet i valutaen angivet i fromCurrencyName</param>
        /// <returns>Værdien af beløbet i toCurrencyName</returns>
        public double Convert(String fromCurrencyName, String toCurrencyName, double amount)
        {
            //The validation happens inside 'GetCryptoCurrency'
            CryptoCurrencyDbModel fromCurrency = _cryptoCurrencyDb.GetCryptoCurrency(fromCurrencyName, true);

            //We use the unit price from the database to get it in dollar
            double fromCurrencyDollar = amount * fromCurrency.UnitPrice;

            //The validation happens inside 'GetCryptoCurrency'
            CryptoCurrencyDbModel toCurrency = _cryptoCurrencyDb.GetCryptoCurrency(toCurrencyName, true);

            //Convert to dollars
            var toCurrencyDollar = fromCurrencyDollar / toCurrency.UnitPrice;

            return(toCurrencyDollar);
        }
コード例 #2
0
        public void ThrowArgumentException_When_CryptoCurrencyName_Is_Wrong()
        {
            string currencyName = "Bitcoin";

            var cryptoCurrencyDb = new CryptoCurrencyDb(DatabaseConnectionString);

            Assert.Throws <ArgumentException>(() => cryptoCurrencyDb.GetCryptoCurrency(currencyName, true));
        }
コード例 #3
0
        public void Can_Get_CryptoCurrencyName_Bitcoin()
        {
            string currencyName     = "Bitcoin";
            var    cryptoCurrencyDb = new CryptoCurrencyDb(DatabaseConnectionString);

            var result = cryptoCurrencyDb.GetCryptoCurrency(currencyName, true);

            Assert.Equal(currencyName, result.CurrencyName);
        }
コード例 #4
0
        public void Can_Update_UnitInDollar_Bitcoin()
        {
            string currencyName = "Bitcoin";

            var cryptoCurrencyDb = new CryptoCurrencyDb(DatabaseConnectionString);


            cryptoCurrencyDb.UpdateUnit(currencyName, 100);

            CryptoCurrencyDbModel result = cryptoCurrencyDb.GetCryptoCurrency(currencyName, true);

            Assert.Equal(100, result.UnitPrice);
        }