python-currencies icon indicating copy to clipboard operation
python-currencies copied to clipboard

Make Currencies comparable

Open CGaul opened this issue 3 years ago • 0 comments

Hi there! Out of curiosity, was there any decision behind not implementing the __eq__ method inside the Currency class?

In my - maybe naive - understanding, it would make sense to be able to compare Currency objects like so: Currency('USD') == Currency('USD') which as of now returns False, as the object's pointers are compared, not the values.

My workaround for this is as follows (python 3.10 code, for python < 3.10 the __ne__ method also needs to be implemented)

class ComparableCurrency(Currency):
    def __eq__(self, other):
        return isinstance(other, Currency) and self.get_money_currency() == other.get_money_currency()

If for any reason, it doesn't make sense to compare two Currencies with each other, or the implementation on currency.get_money_currency() is too simple, I would really like to undestand the problems with that.

CGaul avatar Oct 28 '22 08:10 CGaul