Skip to content

Commit bb8e73f

Browse files
committed
Add testcase for functools' partial equality
1 parent faa36b8 commit bb8e73f

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

Lib/test/test_functools.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,26 @@ def test_repr(self):
222222
[f'{name}({capture!r}, {args_repr}, {kwargs_repr})'
223223
for kwargs_repr in kwargs_reprs])
224224

225+
def test_equality(self):
226+
p = functools.partial(capture, 1, 2, a=10, b=20)
227+
q = functools.partial(capture, 1, 2, a=10, b=20)
228+
self.assertTrue(p == q)
229+
self.assertFalse(p != q)
230+
self.assertTrue(p.__eq__(q))
231+
self.assertFalse(p.__ne__(q))
232+
233+
q = self.partial(capture, 1, 2, a=10)
234+
self.assertFalse(p == q)
235+
self.assertTrue(p != q)
236+
237+
self.assertNotEqual(p, capture)
238+
self.assertNotEqual(q, capture)
239+
240+
a = self.partial(capture)
241+
b = self.partial(signature)
242+
self.assertFalse(a == b)
243+
self.assertTrue(a != b)
244+
225245
def test_recursive_repr(self):
226246
if self.partial in (c_functools.partial, py_functools.partial):
227247
name = 'functools.partial'

0 commit comments

Comments
 (0)