add currency pair class
This commit is contained in:
parent
048d6833b4
commit
132d51777a
2 changed files with 54 additions and 0 deletions
35
tests/tests_unit/test_currency_pair.py
Normal file
35
tests/tests_unit/test_currency_pair.py
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
from money.currency import Currency
|
||||||
|
|
||||||
|
from xexe.currency_pair import CurrencyPair
|
||||||
|
|
||||||
|
|
||||||
|
def test_create_currency_pair_normal_works_fine():
|
||||||
|
|
||||||
|
a_pair: CurrencyPair = CurrencyPair(
|
||||||
|
from_currency=Currency["USD"], to_currency=Currency["EUR"]
|
||||||
|
)
|
||||||
|
|
||||||
|
assert (a_pair.from_currency == "USD", a_pair.to_currency == "EUR")
|
||||||
|
|
||||||
|
|
||||||
|
def test_create_currency_pair_with_same_currency_works():
|
||||||
|
same_curr_pair: CurrencyPair = CurrencyPair(
|
||||||
|
from_currency=Currency["USD"], to_currency=Currency["USD"]
|
||||||
|
)
|
||||||
|
|
||||||
|
assert (same_curr_pair.from_currency == "USD", same_curr_pair.to_currency == "USD")
|
||||||
|
|
||||||
|
|
||||||
|
def test_reverse_currency_works_fine():
|
||||||
|
|
||||||
|
a_pair: CurrencyPair = CurrencyPair(
|
||||||
|
from_currency=Currency["USD"], to_currency=Currency["EUR"]
|
||||||
|
)
|
||||||
|
|
||||||
|
reverse_pair: CurrencyPair = a_pair.get_reverse_pair()
|
||||||
|
|
||||||
|
assert (
|
||||||
|
isinstance(reverse_pair, CurrencyPair),
|
||||||
|
reverse_pair.from_currency == "EUR",
|
||||||
|
reverse_pair.to_currency == "USD",
|
||||||
|
)
|
||||||
19
xexe/currency_pair.py
Normal file
19
xexe/currency_pair.py
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
from money.currency import Currency
|
||||||
|
|
||||||
|
|
||||||
|
class CurrencyPair:
|
||||||
|
"""Two currencies with directionality (from->to)."""
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, from_currency: Currency, to_currency: Currency
|
||||||
|
) -> "CurrencyPair":
|
||||||
|
self.from_currency = from_currency
|
||||||
|
self.to_currency = to_currency
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return str(self.from_currency) + str(self.to_currency)
|
||||||
|
|
||||||
|
def get_reverse_pair(self) -> "CurrencyPair":
|
||||||
|
return CurrencyPair(
|
||||||
|
from_currency=self.to_currency, to_currency=self.from_currency
|
||||||
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue