Commit e5fb0fc1 authored by Walter Dörwald's avatar Walter Dörwald

Add list tests that ensure that remove() removes the first occurrence.

(Copied from test_deque.py as suggested by Jim Jewett in SF bug #1166274)
parent 0b9064d8
...@@ -309,6 +309,26 @@ class CommonTest(seq_tests.CommonTest): ...@@ -309,6 +309,26 @@ class CommonTest(seq_tests.CommonTest):
a = self.type2test([0, 1, 2, 3]) a = self.type2test([0, 1, 2, 3])
self.assertRaises(BadExc, a.remove, BadCmp()) self.assertRaises(BadExc, a.remove, BadCmp())
class BadCmp2:
def __eq__(self, other):
raise BadExc()
d = self.type2test('abcdefghcij')
d.remove('c')
self.assertEqual(d, self.type2test('abdefghcij'))
d.remove('c')
self.assertEqual(d, self.type2test('abdefghij'))
self.assertRaises(ValueError, d.remove, 'c')
self.assertEqual(d, self.type2test('abdefghij'))
# Handle comparison errors
d = self.type2test(['a', 'b', BadCmp2(), 'c'])
e = self.type2test(d)
self.assertRaises(BadExc, d.remove, 'c')
for x, y in zip(d, e):
# verify that original order and values are retained.
self.assert_(x is y)
def test_count(self): def test_count(self):
a = self.type2test([0, 1, 2])*3 a = self.type2test([0, 1, 2])*3
self.assertEqual(a.count(0), 3) self.assertEqual(a.count(0), 3)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment