mirror of
https://github.com/python/cpython.git
synced 2025-11-25 21:11:09 +00:00
Issue #10516: adding list.clear() and list.copy() methods
This commit is contained in:
parent
3108f98319
commit
cbbaa96036
6 changed files with 81 additions and 2 deletions
|
|
@ -425,6 +425,48 @@ class CommonTest(seq_tests.CommonTest):
|
|||
|
||||
self.assertRaises(TypeError, u.reverse, 42)
|
||||
|
||||
def test_clear(self):
|
||||
u = self.type2test([2, 3, 4])
|
||||
u.clear()
|
||||
self.assertEqual(u, [])
|
||||
|
||||
u = self.type2test([])
|
||||
u.clear()
|
||||
self.assertEqual(u, [])
|
||||
|
||||
u = self.type2test([])
|
||||
u.append(1)
|
||||
u.clear()
|
||||
u.append(2)
|
||||
self.assertEqual(u, [2])
|
||||
|
||||
self.assertRaises(TypeError, u.clear, None)
|
||||
|
||||
def test_copy(self):
|
||||
u = self.type2test([1, 2, 3])
|
||||
v = u.copy()
|
||||
self.assertEqual(v, [1, 2, 3])
|
||||
|
||||
u = self.type2test([])
|
||||
v = u.copy()
|
||||
self.assertEqual(v, [])
|
||||
|
||||
# test that it's indeed a copy and not a reference
|
||||
u = self.type2test(['a', 'b'])
|
||||
v = u.copy()
|
||||
v.append('i')
|
||||
self.assertEqual(u, ['a', 'b'])
|
||||
self.assertEqual(v, u + ['i'])
|
||||
|
||||
# test that it's a shallow, not a deep copy
|
||||
u = self.type2test([1, 2, [3, 4], 5])
|
||||
v = u.copy()
|
||||
v[2].append(666)
|
||||
self.assertEqual(u, [1, 2, [3, 4, 666], 5])
|
||||
self.assertEqual(u, v)
|
||||
|
||||
self.assertRaises(TypeError, u.copy, None)
|
||||
|
||||
def test_sort(self):
|
||||
u = self.type2test([1, 0])
|
||||
u.sort()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue