implement equality

This commit is contained in:
Pablo Martin 2025-05-26 15:03:08 +02:00
parent 132d51777a
commit 7cfbe2284d
2 changed files with 20 additions and 4 deletions

View file

@ -20,7 +20,7 @@ def test_create_currency_pair_with_same_currency_works():
assert (same_curr_pair.from_currency == "USD", same_curr_pair.to_currency == "USD") assert (same_curr_pair.from_currency == "USD", same_curr_pair.to_currency == "USD")
def test_reverse_currency_works_fine(): def test_reverse_pair_works_fine():
a_pair: CurrencyPair = CurrencyPair( a_pair: CurrencyPair = CurrencyPair(
from_currency=Currency["USD"], to_currency=Currency["EUR"] from_currency=Currency["USD"], to_currency=Currency["EUR"]
@ -33,3 +33,14 @@ def test_reverse_currency_works_fine():
reverse_pair.from_currency == "EUR", reverse_pair.from_currency == "EUR",
reverse_pair.to_currency == "USD", reverse_pair.to_currency == "USD",
) )
def test_pair_equality_works():
a_pair: CurrencyPair = CurrencyPair(
from_currency=Currency["USD"], to_currency=Currency["EUR"]
)
reverse_pair: CurrencyPair = a_pair.get_reverse_pair()
assert a_pair == a_pair and a_pair != reverse_pair

View file

@ -10,10 +10,15 @@ class CurrencyPair:
self.from_currency = from_currency self.from_currency = from_currency
self.to_currency = to_currency self.to_currency = to_currency
def __str__(self):
return str(self.from_currency) + str(self.to_currency)
def get_reverse_pair(self) -> "CurrencyPair": def get_reverse_pair(self) -> "CurrencyPair":
return CurrencyPair( return CurrencyPair(
from_currency=self.to_currency, to_currency=self.from_currency from_currency=self.to_currency, to_currency=self.from_currency
) )
def __str__(self):
return str(self.from_currency) + str(self.to_currency)
def __eq__(self, other: "CurrencyPair") -> bool:
return (self.from_currency == other.from_currency) and (
self.to_currency == other.to_currency
)