8000 Add tests for 'Entity.__{eq,ne}__' w/ keys/entities as values. · googleapis/google-cloud-python@680800d · GitHub
[go: up one dir, main page]

Skip to content

Commit 680800d

Browse files
committed
Add tests for 'Entity.__{eq,ne}__' w/ keys/entities as values.
Per: https://github.com/GoogleCloudPlatform/gcloud-python/pull/615/files#r24562366.
1 parent 7d7c94a commit 680800d

File tree

2 files changed

+53
-1
lines changed

2 files changed

+53
-1
lines changed

gcloud/datastore/entity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def __eq__(self, other):
9090
return NotImplemented
9191

9292
return (self.key == other.key and
93-
dict(self) == dict(other))
93+
super(Entity, self).__eq__(other))
9494

9595
def __ne__(self, other):
9696
"""Compare two entities for inequality.

gcloud/datastore/test_entity.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,58 @@ def test___eq_____ne___w_same_keys_different_props(self):
9191
self.assertFalse(entity1 == entity2)
9292
self.assertTrue(entity1 != entity2)
9393

94+
def test___eq_____ne___w_same_keys_props_w_equiv_keys_as_value(self):
95+
from gcloud.datastore.key import Key
96+
key1 = Key(_KIND, _ID, dataset_id=_DATASET_ID)
97+
key2 = Key(_KIND, _ID, dataset_id=_DATASET_ID)
98+
entity1 = self._makeOne(key=key1)
99+
entity1['some_key'] = key1
100+
entity2 = self._makeOne(key=key1)
101+
entity2['some_key'] = key2
102+
self.assertTrue(entity1 == entity2)
103+
self.assertFalse(entity1 != entity2)
104+
105+
def test___eq_____ne___w_same_keys_props_w_diff_keys_as_value(self):
106+
from gcloud.datastore.key import Key
107+
_ID1 = 1234
108+
_ID2 = 2345
109+
key1 = Key(_KIND, _ID1, dataset_id=_DATASET_ID)
110+
key2 = Key(_KIND, _ID2, dataset_id=_DATASET_ID)
111+
entity1 = self._makeOne(key=key1)
112+
entity1['some_key'] = key1
113+
entity2 = self._makeOne(key=key1)
114+
entity2['some_key'] = key2
115+
self.assertFalse(entity1 == entity2)
116+
self.assertTrue(entity1 != entity2)
117+
118+
def test___eq_____ne___w_same_keys_props_w_equiv_entities_as_value(self):
119+
from gcloud.datastore.key import Key
120+
key = Key(_KIND, _ID, dataset_id=_DATASET_ID)
121+
entity1 = self._makeOne(key=key)
122+
sub1 = self._makeOne()
123+
sub1.update({'foo': 'Foo'})
124+
entity1['some_entity'] = sub1
125+
entity2 = self._makeOne(key=key)
126+
sub2 = self._makeOne()
127+
sub2.update({'foo': 'Foo'})
128+
entity2['some_entity'] = sub2
129+
self.assertTrue(entity1 == entity2)
130+
self.assertFalse(entity1 != entity2)
131+
132+
def test___eq_____ne___w_same_keys_props_w_diff_entities_as_value(self):
133+
from gcloud.datastore.key import Key
134+
key = Key(_KIND, _ID, dataset_id=_DATASET_ID)
135+
entity1 = self._makeOne(key=key)
136+
sub1 = self._makeOne()
137+
sub1.update({'foo': 'Foo'})
138+
entity1['some_entity'] = sub1
139+
entity2 = self._makeOne(key=key)
140+
sub2 = self._makeOne()
141+
sub2.update({'foo': 'Bar'})
142+
entity2['some_entity'] = sub2
143+
self.assertFalse(entity1 == entity2)
144+
self.assertTrue(entity1 != entity2)
145+
94146
def test___repr___no_key_empty(self):
95147
entity = self._makeOne()
96148
self.assertEqual(repr(entity), '<Entity {}>')

0 commit comments

Comments
 (0)
0