implement equality
This commit is contained in:
parent
132d51777a
commit
7cfbe2284d
2 changed files with 20 additions and 4 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue