MCPcopy Index your code
hub / github.com/python/cpython / test_method_non_descriptor

Method test_method_non_descriptor

Lib/test/test_functools.py:3609–3638  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3607 '(item, arg: int) -> str')
3608
3609 def test_method_non_descriptor(self):
3610 class Callable:
3611 def __init__(self, value):
3612 self.value = value
3613 def __call__(self, arg):
3614 return self.value, arg
3615
3616 class A:
3617 t = functools.singledispatchmethod(Callable('general'))
3618 t.register(int, Callable('special'))
3619
3620 @functools.singledispatchmethod
3621 def u(self, arg):
3622 return 'general', arg
3623 u.register(int, Callable('special'))
3624
3625 v = functools.singledispatchmethod(Callable('general'))
3626 @v.register(int)
3627 def _(self, arg):
3628 return 'special', arg
3629
3630 a = A()
3631 self.assertEqual(a.t(0), ('special', 0))
3632 self.assertEqual(a.t(2.5), ('general', 2.5))
3633 self.assertEqual(A.t(0), ('special', 0))
3634 self.assertEqual(A.t(2.5), ('general', 2.5))
3635 self.assertEqual(a.u(0), ('special', 0))
3636 self.assertEqual(a.u(2.5), ('general', 2.5))
3637 self.assertEqual(a.v(0), ('special', 0))
3638 self.assertEqual(a.v(2.5), ('general', 2.5))
3639
3640
3641class CachedCostItem:

Callers

nothing calls this directly

Calls 4

tMethod · 0.95
uMethod · 0.95
AClass · 0.70
assertEqualMethod · 0.45

Tested by

no test coverage detected