Mentioned new clear() method of MutableSequence in its doc, and added unit tests for its mixin methods
This commit is contained in:
parent
9479d1ade8
commit
0716a579a4
|
@ -46,7 +46,7 @@ ABC Inherits Abstract Methods Mixin
|
|||
|
||||
:class:`MutableSequence` :class:`Sequence` ``__setitem__`` Inherited Sequence methods and
|
||||
``__delitem__``, ``append``, ``reverse``, ``extend``, ``pop``,
|
||||
and ``insert`` ``remove``, and ``__iadd__``
|
||||
and ``insert`` ``remove``, ``clear``, and ``__iadd__``
|
||||
|
||||
:class:`Set` :class:`Sized`, ``__le__``, ``__lt__``, ``__eq__``, ``__ne__``,
|
||||
:class:`Iterable`, ``__gt__``, ``__ge__``, ``__and__``, ``__or__``,
|
||||
|
|
|
@ -728,6 +728,44 @@ class TestCollectionABCs(ABCTestCase):
|
|||
self.validate_abstract_methods(MutableSequence, '__contains__', '__iter__',
|
||||
'__len__', '__getitem__', '__setitem__', '__delitem__', 'insert')
|
||||
|
||||
def test_MutableSequence_mixins(self):
|
||||
# Test the mixins of MutableSequence by creating a miminal concrete
|
||||
# class inherited from it.
|
||||
class MutableSequenceSubclass(MutableSequence):
|
||||
def __init__(self):
|
||||
self.lst = []
|
||||
|
||||
def __setitem__(self, index, value):
|
||||
self.lst[index] = value
|
||||
|
||||
def __getitem__(self, index):
|
||||
return self.lst[index]
|
||||
|
||||
def __len__(self):
|
||||
return len(self.lst)
|
||||
|
||||
def __delitem__(self, index):
|
||||
del self.lst[index]
|
||||
|
||||
def insert(self, index, value):
|
||||
self.lst.insert(index, value)
|
||||
|
||||
mss = MutableSequenceSubclass()
|
||||
mss.append(0)
|
||||
mss.extend((1, 2, 3, 4))
|
||||
self.assertEqual(len(mss), 5)
|
||||
self.assertEqual(mss[3], 3)
|
||||
mss.reverse()
|
||||
self.assertEqual(mss[3], 1)
|
||||
mss.pop()
|
||||
self.assertEqual(len(mss), 4)
|
||||
mss.remove(3)
|
||||
self.assertEqual(len(mss), 3)
|
||||
mss += (10, 20, 30)
|
||||
self.assertEqual(len(mss), 6)
|
||||
self.assertEqual(mss[-1], 30)
|
||||
mss.clear()
|
||||
self.assertEqual(len(mss), 0)
|
||||
|
||||
################################################################################
|
||||
### Counter
|
||||
|
|
Loading…
Reference in New Issue