mirror of
https://github.com/python/cpython.git
synced 2025-11-01 02:38:53 +00:00
parent
fb4f8257bf
commit
ab078e9ed1
20 changed files with 92 additions and 105 deletions
|
|
@ -1758,10 +1758,13 @@ class TestSingleDispatch(unittest.TestCase):
|
|||
c.Container.register(P)
|
||||
with self.assertRaises(RuntimeError) as re_one:
|
||||
g(p)
|
||||
self.assertIn("Ambiguous dispatch:", str(re_one.exception))
|
||||
self.assertIn("<class 'collections.abc.Container'", str(re_one.exception))
|
||||
self.assertIn("<class 'collections.abc.Iterable'", str(re_one.exception))
|
||||
|
||||
self.assertIn(
|
||||
str(re_one.exception),
|
||||
(("Ambiguous dispatch: <class 'collections.abc.Container'> "
|
||||
"or <class 'collections.abc.Iterable'>"),
|
||||
("Ambiguous dispatch: <class 'collections.abc.Iterable'> "
|
||||
"or <class 'collections.abc.Container'>")),
|
||||
)
|
||||
class Q(c.Sized):
|
||||
def __len__(self):
|
||||
return 0
|
||||
|
|
@ -1787,10 +1790,13 @@ class TestSingleDispatch(unittest.TestCase):
|
|||
# perspective.
|
||||
with self.assertRaises(RuntimeError) as re_two:
|
||||
h(c.defaultdict(lambda: 0))
|
||||
self.assertIn("Ambiguous dispatch:", str(re_two.exception))
|
||||
self.assertIn("<class 'collections.abc.Container'", str(re_two.exception))
|
||||
self.assertIn("<class 'collections.abc.Sized'", str(re_two.exception))
|
||||
|
||||
self.assertIn(
|
||||
str(re_two.exception),
|
||||
(("Ambiguous dispatch: <class 'collections.abc.Container'> "
|
||||
"or <class 'collections.abc.Sized'>"),
|
||||
("Ambiguous dispatch: <class 'collections.abc.Sized'> "
|
||||
"or <class 'collections.abc.Container'>")),
|
||||
)
|
||||
class R(c.defaultdict):
|
||||
pass
|
||||
c.MutableSequence.register(R)
|
||||
|
|
@ -1824,10 +1830,13 @@ class TestSingleDispatch(unittest.TestCase):
|
|||
# There is no preference for registered versus inferred ABCs.
|
||||
with self.assertRaises(RuntimeError) as re_three:
|
||||
h(u)
|
||||
self.assertIn("Ambiguous dispatch:", str(re_three.exception))
|
||||
self.assertIn("<class 'collections.abc.Container'", str(re_three.exception))
|
||||
self.assertIn("<class 'collections.abc.Sized'", str(re_three.exception))
|
||||
|
||||
self.assertIn(
|
||||
str(re_three.exception),
|
||||
(("Ambiguous dispatch: <class 'collections.abc.Container'> "
|
||||
"or <class 'collections.abc.Sized'>"),
|
||||
("Ambiguous dispatch: <class 'collections.abc.Sized'> "
|
||||
"or <class 'collections.abc.Container'>")),
|
||||
)
|
||||
class V(c.Sized, S):
|
||||
def __len__(self):
|
||||
return 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue