Skip to content

Make Currencies comparable #16

@CGaul

Description

@CGaul

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions