@@ -134,3 +134,26 @@ class ObjectWithManager(FakeObject):
134134 self .assertIsInstance (obj .fakes , FakeManager )
135135 self .assertEqual (obj .fakes .gitlab , self .gitlab )
136136 self .assertEqual (obj .fakes ._parent , obj )
137+
138+ def test_equality (self ):
139+ obj1 = FakeObject (self .manager , {'id' : 'foo' })
140+ obj2 = FakeObject (self .manager , {'id' : 'foo' , 'other_attr' : 'bar' })
141+ self .assertEqual (obj1 , obj2 )
142+
143+ def test_equality_custom_id (self ):
144+ class OtherFakeObject (FakeObject ):
145+ _id_attr = 'foo'
146+
147+ obj1 = OtherFakeObject (self .manager , {'foo' : 'bar' })
148+ obj2 = OtherFakeObject (self .manager , {'foo' : 'bar' , 'other_attr' : 'baz' })
149+ self .assertEqual (obj1 , obj2 )
150+
151+ def test_inequality (self ):
152+ obj1 = FakeObject (self .manager , {'id' : 'foo' })
153+ obj2 = FakeObject (self .manager , {'id' : 'bar' })
154+ self .assertNotEqual (obj1 , obj2 )
155+
156+ def test_inequality_no_id (self ):
157+ obj1 = FakeObject (self .manager , {'attr1' : 'foo' })
158+ obj2 = FakeObject (self .manager , {'attr1' : 'bar' })
159+ self .assertNotEqual (obj1 , obj2 )
0 commit comments