import datetime from decimal import Decimal import fin_defs NOW = datetime.datetime.now(tz=datetime.UTC) THEN = NOW - datetime.timedelta(days=1) SAMPLE_AVERAGE = fin_defs.ExchangeRateSample( NOW, (fin_defs.FiatCurrency.DKK, fin_defs.FiatCurrency.USD), _average=Decimal(1), ) SAMPLE_HIGH_LOW = fin_defs.ExchangeRateSample( NOW, (fin_defs.FiatCurrency.DKK, fin_defs.FiatCurrency.USD), high=Decimal(1), low=Decimal('0.5'), ) def test_sample_average(): assert SAMPLE_AVERAGE.average == 1 assert SAMPLE_HIGH_LOW.average == Decimal('0.75') def test_invert_sample(): inverted = SAMPLE_HIGH_LOW.invert_exchange_rate() assert inverted.asset_pair == (fin_defs.FiatCurrency.USD, fin_defs.FiatCurrency.DKK) assert inverted.high == 2 assert inverted.low == 1 assert inverted.average == 1.5 def test_replace_timestamp(): assert SAMPLE_HIGH_LOW.replace_timestamp(THEN).timestamp == THEN