Alir3z4 / Alir3z4/python-currencies

Make Currencies comparable

Open
#16 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
73
Forks
13
PR merge metrics
No merged PRs in 30d

Description

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)
```python
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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.