diff --git a/telegram/messageentity.py b/telegram/messageentity.py index 9617ee5af50..9208d8c8f8a 100644 --- a/telegram/messageentity.py +++ b/telegram/messageentity.py @@ -55,6 +55,8 @@ def __init__(self, type, offset, length, url=None, user=None, **kwargs): self.url = url self.user = user + self._id_attrs = (self.type, self.offset, self.length) + @classmethod def de_json(cls, data, bot): data = super(MessageEntity, cls).de_json(data, bot) diff --git a/tests/test_messageentity.py b/tests/test_messageentity.py index 6b447bfb804..9cba2596943 100644 --- a/tests/test_messageentity.py +++ b/tests/test_messageentity.py @@ -64,3 +64,19 @@ def test_to_dict(self, message_entity): assert entity_dict['url'] == message_entity.url if message_entity.user: assert entity_dict['user'] == message_entity.user.to_dict() + + def test_equality(self): + a = MessageEntity(MessageEntity.BOLD, 2, 3) + b = MessageEntity(MessageEntity.BOLD, 2, 3) + c = MessageEntity(MessageEntity.CODE, 2, 3) + d = MessageEntity(MessageEntity.CODE, 5, 6) + + assert a == b + assert hash(a) == hash(b) + assert a is not b + + assert a != c + assert hash(a) != hash(c) + + assert a != d + assert hash(a) != hash(d)