Expand test coverage for deque.count().

This commit is contained in:
Raymond Hettinger 2010-04-03 22:34:15 +00:00
parent a44f393c93
commit ab8b9cae7e
1 changed files with 17 additions and 0 deletions

View File

@ -119,6 +119,23 @@ def test_count(self):
d = deque(s)
for letter in 'abcdefghijklmnopqrstuvwxyz':
self.assertEqual(s.count(letter), d.count(letter), (s, d, letter))
self.assertRaises(TypeError, d.count) # too few args
self.assertRaises(TypeError, d.count, 1, 2) # too many args
class BadCompare:
def __eq__(self, other):
raise ArithmeticError
d = deque([1, 2, BadCompare(), 3])
self.assertRaises(ArithmeticError, d.count, 2)
d = deque([1, 2, 3])
self.assertRaises(ArithmeticError, d.count, BadCompare())
class MutatingCompare:
def __eq__(self, other):
self.d.pop()
return True
m = MutatingCompare()
d = deque([1, 2, 3, m, 4, 5])
m.d = d
self.assertRaises(RuntimeError, d.count, 3)
def test_comparisons(self):
d = deque('xabc'); d.popleft()