From 54927387755553e23f4f32c348294dd76a29f33b Mon Sep 17 00:00:00 2001 From: Hinrich Mahler Date: Wed, 7 Aug 2019 22:43:02 +0200 Subject: [PATCH 1/3] Make MessageEntities comparable --- telegram/messageentity.py | 2 ++ tests/test_messageentity.py | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) 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) From 383044ad0c6328a04bfc69b320aefa94bc871dca Mon Sep 17 00:00:00 2001 From: Bibo-Joshi Date: Fri, 23 Aug 2019 18:47:40 +0200 Subject: [PATCH 2/3] Refine MessageEntitiy _id_attrs --- telegram/messageentity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telegram/messageentity.py b/telegram/messageentity.py index 9208d8c8f8a..0408602a479 100644 --- a/telegram/messageentity.py +++ b/telegram/messageentity.py @@ -55,7 +55,7 @@ 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) + self._id_attrs = (self.type, self.offset, self.length, self.url, self.user) @classmethod def de_json(cls, data, bot): From ec600f7a940f25d2ae0a67e885aa13432784afbf Mon Sep 17 00:00:00 2001 From: Bibo-Joshi Date: Fri, 23 Aug 2019 23:50:20 +0200 Subject: [PATCH 3/3] Revert "Refine MessageEntitiy _id_attrs" This reverts commit 383044ad0c6328a04bfc69b320aefa94bc871dca. --- telegram/messageentity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telegram/messageentity.py b/telegram/messageentity.py index 0408602a479..9208d8c8f8a 100644 --- a/telegram/messageentity.py +++ b/telegram/messageentity.py @@ -55,7 +55,7 @@ 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, self.url, self.user) + self._id_attrs = (self.type, self.offset, self.length) @classmethod def de_json(cls, data, bot):