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

Method test_count

Lib/test/test_deque.py:99–130  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

97 d.maxlen = 10
98
99 def test_count(self):
100 for s in ('', 'abracadabra', 'simsalabim'*500+'abc'):
101 s = list(s)
102 d = deque(s)
103 for letter in 'abcdefghijklmnopqrstuvwxyz':
104 self.assertEqual(s.count(letter), d.count(letter), (s, d, letter))
105 self.assertRaises(TypeError, d.count) # too few args
106 self.assertRaises(TypeError, d.count, 1, 2) # too many args
107 class BadCompare:
108 def __eq__(self, other):
109 raise ArithmeticError
110 d = deque([1, 2, BadCompare(), 3])
111 self.assertRaises(ArithmeticError, d.count, 2)
112 d = deque([1, 2, 3])
113 self.assertRaises(ArithmeticError, d.count, BadCompare())
114 class MutatingCompare:
115 def __eq__(self, other):
116 self.d.pop()
117 return True
118 m = MutatingCompare()
119 d = deque([1, 2, 3, m, 4, 5])
120 m.d = d
121 self.assertRaises(RuntimeError, d.count, 3)
122
123 # test issue11004
124 # block advance failed after rotation aligned elements on right side of block
125 d = deque([None]*16)
126 for i in range(len(d)):
127 d.rotate(-1)
128 d.rotate(1)
129 self.assertEqual(d.count(1), 0)
130 self.assertEqual(d.count(None), 16)
131
132 def test_comparisons(self):
133 d = deque('xabc')

Callers

nothing calls this directly

Calls 7

listClass · 0.85
BadCompareClass · 0.85
MutatingCompareClass · 0.85
assertEqualMethod · 0.45
countMethod · 0.45
assertRaisesMethod · 0.45
rotateMethod · 0.45

Tested by

no test coverage detected