diff options
Diffstat (limited to 'thcolor/_angle.py')
-rwxr-xr-x | thcolor/_angle.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/thcolor/_angle.py b/thcolor/_angle.py index 0a0b1bd..c402197 100755 --- a/thcolor/_angle.py +++ b/thcolor/_angle.py @@ -62,6 +62,23 @@ class Angle: self._type = Angle.Type.INVALID self.set(*args, **kwargs) + def __eq__(self, other): + if not isinstance(other, Angle): + return super().__eq__(other) + + if self._type == Angle.Type.INVALID: + return other.type == Angle.Type.INVALID + elif self._type == Angle.Type.DEG: + return other.degrees == self._value + elif self._type == Angle.Type.GRAD: + return other.gradiants == self._value + elif self._type == Angle.Type.RAD: + return other.radiants == self._value + elif self._type == Angle.Type.TURN: + return other.turns == self._value + + return False + def __repr__(self): args = (('type', self._type),) if self._type in (Angle.Type.DEG, Angle.Type.GRAD, Angle.Type.RAD, |