class TestBitCoinForceDecimal(TestCase): def setUp(self): self.b = BtcConverter(force_decimal=True) def test_latest_price_valid_currency(self): price = self.b.get_latest_price('USD') self.assertEqual(type(price), Decimal) def test_latest_price_invalid_currency(self): price = self.b.get_latest_price('XYZ') self.assertFalse(price) def test_previous_price_valid_currency(self): date_obj = datetime.datetime.today() - datetime.timedelta(days=15) price = self.b.get_previous_price('USD', date_obj) self.assertEqual(type(price), Decimal) def test_previous_price_invalid_currency(self): date_obj = datetime.datetime.today() - datetime.timedelta(days=15) self.assertRaises(RatesNotAvailableError, self.b.get_previous_price, 'XYZ', date_obj) def test_previous_price_list_with_valid_currency(self): start_date = datetime.datetime.today() - datetime.timedelta(days=15) end_date = datetime.datetime.today() price_list = self.b.get_previous_price_list('USD', start_date, end_date) self.assertTrue(price_list) self.assertEqual(type(price_list), dict) def test_previous_price_list_with_invalid_currency(self): start_date = datetime.datetime.today() - datetime.timedelta(days=15) end_date = datetime.datetime.today() price_list = self.b.get_previous_price_list('XYZ', start_date, end_date) self.assertFalse(price_list) self.assertEqual(type(price_list), dict) def test_convet_to_btc_with_valid_currency(self): coins = self.b.convert_to_btc(Decimal('250'), 'USD') self.assertEqual(type(coins), Decimal) def test_convet_to_btc_with_invalid_currency(self): self.assertRaises(RatesNotAvailableError, self.b.convert_to_btc, Decimal('250'), 'XYZ') def test_convert_btc_to_cur_valid_currency(self): amount = self.b.convert_btc_to_cur(Decimal('2'), 'USD') self.assertEqual(type(amount), Decimal) def test_convert_btc_to_cur_invalid_currency(self): self.assertRaises(RatesNotAvailableError, self.b.convert_btc_to_cur, Decimal('250'), 'XYZ') def test_convert_to_btc_on_with_valid_currency(self): date_obj = datetime.datetime.today() - datetime.timedelta(days=15) coins = self.b.convert_to_btc_on(Decimal('300'), 'USD', date_obj) self.assertEqual(type(coins), Decimal) def test_convert_to_btc_on_with_invalid_currency(self): date_obj = datetime.datetime.today() - datetime.timedelta(days=15) self.assertRaises(RatesNotAvailableError, self.b.convert_to_btc_on, Decimal('250'), 'XYZ', date_obj) def test_convert_to_btc_on_with_valid_currency(self): date_obj = datetime.datetime.today() - datetime.timedelta(days=15) amount = self.b.convert_btc_to_cur_on(Decimal('250'), 'USD', date_obj) self.assertEqual(type(amount), Decimal) def test_convert_to_btc_on_with_invalid_currency(self): date_obj = datetime.datetime.today() - datetime.timedelta(days=15) self.assertRaises(RatesNotAvailableError, self.b.convert_btc_to_cur_on, Decimal('3'), 'XYZ', date_obj)
print('\n' + from_currency + " To " + to_currency, amount) print('The current conversion rate for {} to {} is {}'.format(from_currency, to_currency, c.get_rate(from_currency, to_currency))) #Get conversion rate from USD to INR result = c.convert(from_currency, to_currency, amount) #Convert the amount print('Latest Conversion: ',result) #Get conversion rate as of 2021-01-01 print('\nThe conversion rate from {} to {} as per 1st Jan 2021 is {}'.format(from_currency, to_currency, c.get_rate(from_currency, to_currency, date_obj))) print('The conversion as per 1st Jan 2021: ', c.convert(from_currency, to_currency, amount, date_obj)) b = BtcConverter() print('\n\nBitcoin Symbol: ', b.get_symbol()) # get_btc_symbol() print('Bitcoin Latest Price in USD : ', b.get_latest_price('USD')) #Get latest Bitcoin price. print('Convert 10 Million USD to Bitcoin', b.convert_to_btc(10000000, 'USD')) #Convert Amount to Bitcoins based on latest exchange price. print('The Equivalent of 10.99 Bitcoin in USD: ',b.convert_btc_to_cur(10.99, 'USD')) #Convert Bitcoins to valid currency amount based on lates price print('\nBitcoin price as per 1st Jan 2021: ',b.get_previous_price('USD', date_obj)) #Get price of Bitcoin based on prevois date print('The conversion of 10 Million Dollars to Bitcoin as of 1st Jan 2021',b.convert_to_btc_on(10000000, 'USD', date_obj)) #Convert Amount to bitcoins based on previous date prices print('The conversion of 10.99 Bitcoin in USD as of 1st Jan 2021: ',b.convert_btc_to_cur_on(10.99, 'USD', date_obj)) #Convert Bitcoins to valid currency amount based on previous date price start_date = datetime.datetime(2021, 2, 1, 19, 39, 36, 815417) end_date = datetime.datetime(2021, 2, 7, 19, 39, 36, 815417) print('\nBitcoin rates over the week in USD: ',b.get_previous_price_list('USD', start_date, end_date)) #Get list of prices list for given date range d = CurrencyCodes() print('\nUS Dollar Symbol:', d.get_symbol('USD')) #Get currency symbol using currency code print(d.get_currency_name('USD')) #Get Currency Name using currency code print('\nThe latest rate of USD for various currencies\n', c.get_rates('USD')) #list all latest currency rates for "USD" print('\nThe rate of USD for various currencies as per 1st Jan 2021\n',c.get_rates('USD', date_obj)) #List all Currency rates for “USD” on 2021-01-01