Python: Extend isSequence/isMapping test with custom classes

This commit is contained in:
Rasmus Wriedt Larsen
2020-06-09 14:01:18 +02:00
parent 65ce6d27ff
commit 846101d295
2 changed files with 24 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
| mapping | class MySequenceImpl |
| neither sequence nor mapping | builtin-class set |
| sequence | builtin-class bytes |
| sequence | builtin-class collections.OrderedDict |
@@ -6,4 +7,7 @@
| sequence | builtin-class list |
| sequence | builtin-class str |
| sequence | builtin-class tuple |
| sequence | class MyDictSubclass |
| sequence | class MyMappingABC |
| sequence | class MySequenceABC |
| sequence | class OrderedDict |

View File

@@ -4,15 +4,35 @@ import collections.abc
def test(*args):
pass
class MySequenceABC(collections.abc.Sequence):
pass
class MyMappingABC(collections.abc.Mapping):
pass
class MySequenceImpl(object):
def __getitem__(self, key):
pass
def __len__(self):
pass
class MyDictSubclass(dict):
pass
test(
list,
tuple,
str,
bytes,
MySequenceABC,
MySequenceImpl,
set,
dict,
OrderedDict,
defaultdict,
MyMappingABC,
MyDictSubclass,
)
for seq_cls in (list, tuple, str, bytes):