mirror of https://github.com/swig/swig
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
import sys
|
|
|
|
# collections.abc requires Python 3.3+
|
|
|
|
from python_abstractbase import *
|
|
if sys.version_info[0:2] >= (3, 3):
|
|
import collections.abc
|
|
else:
|
|
import collections
|
|
|
|
# This is expected to fail with -builtin option
|
|
# Builtin types can't inherit from pure-python abstract bases
|
|
if is_python_builtin():
|
|
exit(0)
|
|
|
|
def check_issubclass(derived, base):
|
|
if not issubclass(derived, base):
|
|
raise RuntimeError("{} is not a subclass of {}".format(derived, base))
|
|
|
|
if sys.version_info[0:2] >= (3, 3):
|
|
check_issubclass(Mapii, collections.abc.MutableMapping)
|
|
check_issubclass(Multimapii, collections.abc.MutableMapping)
|
|
check_issubclass(IntSet, collections.abc.MutableSet)
|
|
check_issubclass(IntMultiset, collections.abc.MutableSet)
|
|
check_issubclass(IntVector, collections.abc.MutableSequence)
|
|
check_issubclass(IntList, collections.abc.MutableSequence)
|
|
else:
|
|
check_issubclass(Mapii, collections.MutableMapping)
|
|
check_issubclass(Multimapii, collections.MutableMapping)
|
|
check_issubclass(IntSet, collections.MutableSet)
|
|
check_issubclass(IntMultiset, collections.MutableSet)
|
|
check_issubclass(IntVector, collections.MutableSequence)
|
|
check_issubclass(IntList, collections.MutableSequence)
|
|
|
|
mapii = Mapii()
|
|
multimapii = Multimapii()
|
|
intset = IntSet()
|
|
intmultiset = IntMultiset()
|
|
intvector = IntVector()
|
|
intlist = IntList()
|